Найти в Дзене

📌 Тип данных VBA Int / Integer (переменная Dim)

Ребята, всем привет! 👋 Продолжаем изучать VBA. В прошлом уроке мы рассмотрели логический тип данных VBA, теперь познакомимся с типом данных Int / Integer. В этом уроке мы рассмотрим: ✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube. ☑️ Тип переменной Integer (Int) Тип данных VBA Int используется для хранения целых чисел (без десятичных значений). Однако, как мы увидим ниже, целочисленные значения должны находиться в диапазоне от -32768 до 32768. Для объявления переменной Int используется оператор Dim (сокращение от Dimension): 🔘 Dim intA as Integer Затем, чтобы присвоить значение переменной, просто используйте знак равенства: 🔘 intA = 30000 Когда вы включаете это в процедуру, это может выглядеть примерно так: Если выполнить приведенный выше код, появится следующее окно сообщения: ☑️ Длинный тип переменной Как упоминалось выше, переменные Int мог
Оглавление

Ребята, всем привет! 👋

Продолжаем изучать VBA. В прошлом уроке мы рассмотрели логический тип данных VBA, теперь познакомимся с типом данных Int / Integer.

В этом уроке мы рассмотрим:

  • тип переменной Integer (Int)
  • десятичные значения и типы данных Int
  • как объявить переменную Int на модульном или глобальном уровне
  • как преобразовать строку в Int
  • как преобразовать Int в строку

✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.

Тип данных VBA Int / Integer (переменная Dim)
Тип данных VBA Int / Integer (переменная Dim)

☑️ Тип переменной Integer (Int)

Тип данных VBA Int используется для хранения целых чисел (без десятичных значений). Однако, как мы увидим ниже, целочисленные значения должны находиться в диапазоне от -32768 до 32768.

Для объявления переменной Int используется оператор Dim (сокращение от Dimension):

🔘 Dim intA as Integer

Затем, чтобы присвоить значение переменной, просто используйте знак равенства:

🔘 intA = 30000

Когда вы включаете это в процедуру, это может выглядеть примерно так:

-2

Если выполнить приведенный выше код, появится следующее окно сообщения:

-3

☑️ Длинный тип переменной

Как упоминалось выше, переменные Int могут хранить только значения от -32768 до 32768.

⚠️ Если вы попытаетесь присвоить переменной Int значение, выходящее за пределы этого диапазона (например, intA = 80000), вы получите сообщение об ошибке:

-4

Когда вы нажимаете на устранение ошибки, код прерывается на ‘заполнить целочисленную строку, поскольку целое число не может хранить число до 80000:

-5

🔔 Вместо этого вы можете объявить переменную с типом данных Long:

🔘 Dim longA as Long

Длинные переменные могут хранить очень длинные типы данных (от -2 147 483 648 до 2 147 483 648).

⚠️ Что важно! Длинные переменные занимают больше памяти.

Несколько лет назад память была большой проблемой при написании кода, однако сейчас вычислительные технологии значительно улучшились, и вряд ли вы столкнетесь с проблемами с памятью, вызванными длинными переменными при написании кода VBA, а поэтому рекомендуется всегда использовать длинные переменные вместо переменных Int.

☑️ Десятичные значения и типы данных Int

Переменные Int не могут хранить десятичные значения.

⚠️ Что важно! Если вы передаете десятичное число целым числом, десятичное число будет округлено, чтобы удалить десятичное число.

⏩ Пример 1 (округление в меньшую сторону):

-6

Если выполнить приведенный выше код, появится следующее окно сообщения:

Пример: округление в меньшую сторону
Пример: округление в меньшую сторону

⏩ Пример 2 (округление в большую сторону):

-8

Если выполнить приведенный выше код, появится следующее окно сообщения:

Пример? округление в большую сторону
Пример? округление в большую сторону

☑️ Десятичный / двойной тип данных

Если вы хотите сохранить десятичный знак, вам нужно будет объявить переменную, которая допускает десятичные знаки.

🔔 Существует 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.

-10

⚠️ Эти переменные могут использоваться с любой процедурой в этом модуле кода.

✔️ Глобальный уровень

Переменные глобального уровня также объявляются в верхней части модулей кода.

Вместо использования инструкции Dim используйте общедоступную инструкцию, чтобы указать, что целочисленная переменная доступна для использования во всем вашем проекте VBA.

🔘 Public IntA as Integer

-11

⚠️ ВАЖНО!

  • Если вы объявите целое число на уровне модуля, а затем попытаетесь использовать его в другом модуле, возникнет ошибка.
  • Если вы используете ключевое слово Public для объявления целого числа, ошибка не возникает, и процедура выполняется без сбоев.

☑️ Преобразование строки в Int

Может быть случай или случаи, когда вам нужно будет преобразовать число, хранящееся в виде строки, в целочисленное значение.

-12

В появившемся окне видим, что целочисленное значение переходит вправо, указывая число, в то время как строковое значение переходит влево, указывая текст.

-13

⚠️ Окно Immediate используется в VBA Excel при написании и отладке процедур для тестирования отдельных строк кода, проверки текущих значений переменных и в качестве калькулятора. Отображается на экране окно Immediate сочетанием клавиш Ctrl+G или через меню редактора VBA: View → Immediate Window.

☑️ Преобразование Int в строку

Может быть случай или случаи, когда вам нужно преобразовать целочисленное значение в строку.

-14

Результат:

-15

А на этом сегодня все. 👏 Продолжение следует...

Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.

📝 Нам очень важна Ваша обратная связь. Отзыв по уроку и любые вопросы пишите в комментариях.

💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)

И конечно же, за лайк 👍  и репост 🔁 данного поста благодарочка 💖 и респект 🤝 каждому!

Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel.
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel.