Можливо, вам доведеться перетворити числа, збережені у вигляді тексту, у фактичні числа у вашому коді VBA. У цьому посібнику ми збираємося переглянути функції, які вам потрібно використовувати для перетворення рядка в цілочисельний, довгий, подвійний, десятковий або валютний тип даних (Натисніть тут, щоб дізнатися про перетворення чисел у рядки)
Перетворити рядок у ціле число
Ви можете використовувати функцію CInt або CLng для перетворення рядка в ціле число. Якщо дріб менше .5, функція округлятиметься вниз, якщо частка більша або дорівнює .5, функція округлюватиметься. Наступний код перетворить рядок у ціле число:
1 | MsgBox CInt ("7,55") |
Результат такий:
Наступний код використовує функцію CLng для перетворення рядка в ціле число:
1 | MsgBox CLng ("13,5") |
Результат такий:
Примітка: Ви можете використовувати функцію CInt або CLng, щоб перетворити рядок у цілі чи довгі (відповідно) типи даних. Тип довгих даних такий самий, як цілочисельний тип даних, за винятком того, що допускаються більші числа. У минулому ця відмінність вимагалася через обмеження пам’яті. У сучасному програмуванні немає причин не використовувати довгий тип даних, оскільки пам’ять більше не є проблемою. Тому завжди краще використовувати довгий тип даних замість цілого числа.
Ви можете скористатися вікном негайного перегляду, щоб побачити, як буде оброблено значення, якщо не перетворити його на ціле число:
1 | Налагодження. Друк "13,5" + "13,5" |
Зазвичай текст буде зберігатися як змінна, і цю змінну потрібно буде перетворити на числовий тип даних, як показано у коді нижче:
1234567 | Sub Використовуючи_Змінні ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)End Sub |
Перетворення рядка в десятковий
Ви можете використовувати функцію CDbl або CDec для перетворення рядка в десятковий. Наступний код перетворить рядок у подвійний тип даних:
1 | MsgBox CDbl ("9.1819") |
Результат такий:
Наступний код перетворить рядок у десятковий тип даних:
1 | MsgBox CDec ("13.57") + CDec ("13.4") |
Результат такий:
Ви можете скористатися вікном негайного перегляду, щоб побачити, як значення буде оброблено, якщо воно не буде перетворено на подвійний або десятковий тип даних:
1 | Налагодження.Надрукувати "13.57" + "13.4" |
Результат такий:
Примітка: Десятковий тип даних може зберігати більші числа, ніж подвійний тип даних, тому завжди доцільно використовувати десятковий тип даних, коли ви не впевнені.
Конвертувати рядок у валюту
Ви можете використовувати функцію CCur для перетворення рядка у валюту. Наступний код перетворить рядок у валютний тип даних:
1 | Діапазон ("A1"). Значення = CCur ("18,5") |
Результат такий: