Ребята, всем привет! 👋
Продолжаем изучать VBA. В прошлом уроке мы рассмотрели логический тип данных VBA, теперь познакомимся с типом данных Int / Integer.
В этом уроке мы рассмотрим:
- тип переменной Integer (Int)
- десятичные значения и типы данных Int
- как объявить переменную Int на модульном или глобальном уровне
- как преобразовать строку в Int
- как преобразовать Int в строку
✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.
☑️ Тип переменной Integer (Int)
Тип данных VBA Int используется для хранения целых чисел (без десятичных значений). Однако, как мы увидим ниже, целочисленные значения должны находиться в диапазоне от -32768 до 32768.
Для объявления переменной Int используется оператор Dim (сокращение от Dimension):
🔘 Dim intA as Integer
Затем, чтобы присвоить значение переменной, просто используйте знак равенства:
🔘 intA = 30000
Когда вы включаете это в процедуру, это может выглядеть примерно так:
Если выполнить приведенный выше код, появится следующее окно сообщения:
☑️ Длинный тип переменной
Как упоминалось выше, переменные Int могут хранить только значения от -32768 до 32768.
⚠️ Если вы попытаетесь присвоить переменной Int значение, выходящее за пределы этого диапазона (например, intA = 80000), вы получите сообщение об ошибке:
Когда вы нажимаете на устранение ошибки, код прерывается на ‘заполнить целочисленную строку, поскольку целое число не может хранить число до 80000:
🔔 Вместо этого вы можете объявить переменную с типом данных Long:
🔘 Dim longA as Long
Длинные переменные могут хранить очень длинные типы данных (от -2 147 483 648 до 2 147 483 648).
⚠️ Что важно! Длинные переменные занимают больше памяти.
Несколько лет назад память была большой проблемой при написании кода, однако сейчас вычислительные технологии значительно улучшились, и вряд ли вы столкнетесь с проблемами с памятью, вызванными длинными переменными при написании кода VBA, а поэтому рекомендуется всегда использовать длинные переменные вместо переменных Int.
☑️ Десятичные значения и типы данных Int
Переменные Int не могут хранить десятичные значения.
⚠️ Что важно! Если вы передаете десятичное число целым числом, десятичное число будет округлено, чтобы удалить десятичное число.
⏩ Пример 1 (округление в меньшую сторону):
Если выполнить приведенный выше код, появится следующее окно сообщения:
⏩ Пример 2 (округление в большую сторону):
Если выполнить приведенный выше код, появится следующее окно сообщения:
☑️ Десятичный / двойной тип данных
Если вы хотите сохранить десятичный знак, вам нужно будет объявить переменную, которая допускает десятичные знаки.
🔔 Существует 3 типа данных, которые вы можете использовать:
- одинарные ➡️ Dim sngPrice as Single
- двойные ➡️ Dim dblPrice as Double
- валютные ➡️ Dim curPrice as Currency
Тип данных Single округляет десятичную точку немного иначе, чем тип данных double и currency, поэтому для точности предпочтительнее использовать double в single .
У double может быть до 12 знаков после запятой, в то время как у currency и single может быть до 4 знаков после запятой.
☑️ Ка объявить переменную Int на модульном или глобальном уровне
В предыдущих примерах мы объявляли переменную Int в процедуре.
⚠️ ВАЖНО!
Переменные, объявленные с помощью процедуры, могут использоваться только в рамках этой процедуры.
Вместо этого вы можете объявлять переменные Int на модульном или глобальном уровне.
✔️ Модульный уровень
Переменные уровня модуля объявляются в верхней части модулей кода с помощью оператора Dim.
⚠️ Эти переменные могут использоваться с любой процедурой в этом модуле кода.
✔️ Глобальный уровень
Переменные глобального уровня также объявляются в верхней части модулей кода.
Вместо использования инструкции Dim используйте общедоступную инструкцию, чтобы указать, что целочисленная переменная доступна для использования во всем вашем проекте VBA.
🔘 Public IntA as Integer
⚠️ ВАЖНО!
- Если вы объявите целое число на уровне модуля, а затем попытаетесь использовать его в другом модуле, возникнет ошибка.
- Если вы используете ключевое слово Public для объявления целого числа, ошибка не возникает, и процедура выполняется без сбоев.
☑️ Преобразование строки в Int
Может быть случай или случаи, когда вам нужно будет преобразовать число, хранящееся в виде строки, в целочисленное значение.
В появившемся окне видим, что целочисленное значение переходит вправо, указывая число, в то время как строковое значение переходит влево, указывая текст.
⚠️ Окно Immediate используется в VBA Excel при написании и отладке процедур для тестирования отдельных строк кода, проверки текущих значений переменных и в качестве калькулятора. Отображается на экране окно Immediate сочетанием клавиш Ctrl+G или через меню редактора VBA: View → Immediate Window.
☑️ Преобразование Int в строку
Может быть случай или случаи, когда вам нужно преобразовать целочисленное значение в строку.
Результат:
А на этом сегодня все. 👏 Продолжение следует...
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.
📝 Нам очень важна Ваша обратная связь. Отзыв по уроку и любые вопросы пишите в комментариях.
💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)
И конечно же, за лайк 👍 и репост 🔁 данного поста благодарочка 💖 и респект 🤝 каждому!