Ребята, всем привет! 👋
Продолжаем изучать VBA. В этом уроке мы рассмотрим:
- что такое тип строковой переменной;
- как объявить строковую переменную на модульном или глобальном уровне;
- как преобразовать значения, сохраненные в виде строки;
- как преобразовать строку, хранящуюся в виде значений.
Если вы только начинаете осваивать VBA мы уверены, каждый может найти для себя что-то новое!
✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.
🔔 ссылку на исходник и возможность скачать файл с примером см. в конце статьи 🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽
☑️ Тип строковой переменной
Строковый тип данных является одним из наиболее распространенных типов данных в VBA.
Строковый тип данных хранит “строки” текста.
Для объявления переменной строковой переменной используется оператор Dim (сокращение от Dimension):
▶️ Dim strName as String
🔔 Dim означает измерение. При использовании ключевого слова Dim укажите имя и тип данных новой переменной.
Это показано в приведенном ниже коде:
Sub DeclaringAVariableUsingDim()
Dim productName as String Dim myNumber as Integer Dim myRange as Range
Dim wb as Worksheet
Dim myValue as Boolean
End Sub
🔔 В приведенном коде мы объявили пять разных переменных и использовали пять разных типов данных.
Чтобы присвоить значение переменной, используется знак равенства:
▶️ strName = "Fred Smith"
Включение в процедуру выглядит следующим образом:
Sub strExample()
Dim strName as string 'объявить строку
strName = "Изучаем VBA" 'заполнить строку
MsgBox strname 'показать окно сообщения
End Sub
🔔 Если вы выполните приведенный выше код, появится следующее окно сообщения.
⚠️ ВАЖНО!
На самом деле существует 2 типа строковых переменных – фиксированные и переменные.
Строковая переменная “variable” (показанная в примере выше) позволяет использовать строку любой длины (это наиболее распространенный).
“Фиксированная” строковая переменная определяет размер строки. Фиксированная строка может содержать до 65 400 символов.
▶️ Dim strName as string *20
🔔 Когда вы определяете фиксированную переменную, количество символов в переменной фиксируется, даже если вы используете меньше символов.
🔔 Если вы объявили строку без указания длины, то строка будет содержать только столько символов, сколько ей передано.
☑️ Как объявить строковую переменную на модульном или глобальном уровне
В примере выше мы объявили строковую переменную в процедуре.
⚠️ ВАЖНО! Переменные, объявленные с помощью процедуры, могут использоваться только в рамках этой процедуры.
Вместо этого вы можете объявлять строковые переменные на модульном или глобальном уровне.
🔘 Модульный уровень
Переменные уровня модуля объявляются в верхней части модулей кода с помощью оператора Dim.
⚠️ ВАЖНО! Эти переменные могут использоваться с любой процедурой в этом модуле кода.
🔘 Глобальный уровень
Переменные глобального уровня также объявляются в верхней части модулей кода.
НО, вместо использования инструкции Dim вы используете общедоступную инструкцию, чтобы указать, что строковая переменная доступна для использования во всем вашем проекте VBA.
▶️ Public strName as String
⚠️ ВАЖНО!
- Если вы объявили строковую переменную на уровне модуля и используете ее в другом модуле, возникнет ошибка.
- Если вы используете ключевое слово Public для объявления строковой переменной, ошибка не возникнет, и процедура будет выполнена идеально.
☑️ Как преобразовать значения, сохраненные в виде строки
Например, у вас есть значения в Excel, которые хранятся в виде текста
⚠️ Обратите внимание, что значение в A1 выровнено по левому краю, что указывает на текстовое значение
▶️ Вы можете использовать функцию VBA, которую можно использовать для преобразования в число:
🔔 После только вы запустите код, апостроф исчезает, а после запятой будут два нуля (567895,00), что указывает на то, что оно теперь хранится как число.
🔔 Особенно это полезно , когда вы перебираете большой диапазон ячеек
▶️ В данном случае используется код:
В результате все ячейки будут преобразованы в числа:
☑️ Как преобразовать строку, хранящуюся в виде значений
Аналогичным образом могут существовать значения, которые необходимо преобразовать из строки в значение – например, если вам требуется начальный ноль (например в табельном номере):
▶️ В данном случае используется код:
Результат:
🔔 Обратите внимание, что вам нужно начинать текстовую строку с апострофа (‘) перед нулем, чтобы указать Excel ввести значение в виде строки.
А на этом сегодня все. 👏 Продолжение следует...
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.
📝 Нам очень важна Ваша обратная связь. Отзыв по уроку и любые вопросы пишите в комментариях.
💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)
И конечно же, за лайк 👍 и репост 🔁 данного поста благодарочка 💖 и респект 🤝 каждому!