Как Объявить VBA Константы в Excel
Значение Пи — 3,14, гравитационное притяжение Земли — 9,8 м / с ^ 2 ^, вас интересует VBA и т. Д. Все это константы, и они не меняются.
В VBA вы можете определять переменные, значение которых нельзя изменить в программе. Программист VBA самостоятельно определяет эти постоянные значения в программе, чтобы использовать их снова и снова.
Как определить постоянное значение в VBA? Мы используем ключевое слово Const * для объявления константы в VBA.
Синтаксис объявления постоянной переменной в VBA:
[<Scope Specifier>] Const <VarName> as <variable_type> = <value>
link:/general-topics-in-vba-excel-vba-variable-scope
=== `здесь.
_Примечание: мы никогда не используем ключевое слово Dim для объявления константы в VBA. _
<VarName>: это имя постоянной переменной.
<variable_type>: тип константы. Например, целое число, строка, дата и т. Д.
<value>: * Значение постоянной переменной.
Простой пример постоянной переменной:
Const pi as double = 3.14
Здесь мы объявили постоянное значение числа пи в переменной с именем_pi_. Теперь мы можем использовать этот pi в нашей программе. Значение всегда будет 3,14. Если вы попытаетесь изменить значение постоянной переменной, Excel VBA выдаст сообщение об ошибке.
Примеры постоянных переменных VBA Изучите приведенный ниже код:
Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth() sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() rad = 3389.5 sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
Здесь мы определили две константы, пи и рад. Значение пи составляет 3,14, а рад — 6371, что соответствует радиусу Земли.
Теперь, когда мы запускаем первую суб-Землю, она отлично работает и печатает площадь поверхности Земли.
В следующем субмарсе мы переопределили постоянный рад, поскольку радиус Марса изменился. Когда мы запускаем эту программу, она выдает ошибку: «Присвоение константе запрещено».
Как повторно инициализировать константу в VBA
Как вы видели в приведенном выше примере, мы не можем присвоить константе новые значения. Да нельзя.
Но если вам все равно нужно использовать то же имя в качестве другого фиксированного значения, просто используйте ключевое слово Const * перед назначением.
Приведенный ниже код будет работать отлично.
Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth() sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() Const rad = 3389.5 sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
Вышеупомянутая подпрограмма будет работать без ошибок. Но я не рекомендую такой подход. Лучший способ — определить общедоступные и частные константы и определить их отдельно. И это подводит нас к следующему сегменту.
Общедоступные и частные константы в VBA Как мы узнали из приведенных выше примеров, некоторые константы могут быть универсальными, а некоторые могут отличаться для разных объектов. Например, значение пи постоянно для всей вселенной, но количество планет от Солнечной системы к Солнечной системе и радиус планет варьируется от планеты к планете.
Поскольку радиус Земли постоянен для нее, а не для Вселенной.
Точно так же в программах некоторые константы будут частными для подпрограмм и модулей, а некоторые будут общедоступными для всего проекта VBA. Ваша задача — определить их и объявить по-другому.
Возьмем другой пример:
Public Const pi As Double = 3.14 ' This can be accessed from any module in the project Private Const planets As Integer = 8 ' this is private to this module Sub Earth() Const rad As Double = 6371 'Private to this subroutine. Can't be accessed outside sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() Const rad As Double = 3389.5 'Private to this subroutine. Can't be accessed outside sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
Это простое определение области действия переменной. Вы можете прочитать об установке области видимости переменной link: / general-themes-in-vba-excel-vba-variable-scope [здесь подробно]
.
Так что да, ребята, вот как вы объявляете и используете константы в Excel VBA. Я попытался объяснить творчески. Надеюсь, я достаточно объяснил. Если у вас есть сомнения, спросите в разделе комментариев ниже. Буду рад услышать и ответить вам.
Статьи по теме:
link: / general-themes-in-vba-excel-vba-variable-scope [Область переменных Excel VBA]
| у нас есть спецификаторы доступа к переменным, которые определяют, откуда можно получить доступ к определенной переменной. Excel VBA — не исключение. VBA тоже имеет спецификаторы области видимости. Эти спецификаторы области могут использоваться для установки видимости / области переменной в Excel VBA.
link: / cells-range-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interval-question [ByRef and ByVal Arguments]
| Когда аргумент передается как аргумент ByRef другой подгруппе или функции, отправляется ссылка на фактическую переменную. Любые изменения, внесенные в копию переменной, будут отражены в исходном аргументе.
link: / files-workbook-and-worksheets-in-vba-delete-sheet-without-confirm-prompts-using-vba-in-microsoft-excel [Удалять листы без запросов на подтверждение с помощью VBA в Microsoft Excel]
| Поскольку вы удаляете листы с помощью VBA, вы знаете, что делаете. Вы хотите, чтобы Excel не показывал это предупреждение и не удалял этот проклятый лист.
link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Добавить и сохранить новую книгу с помощью VBA в Microsoft Excel 2016] | В этом коде мы сначала создали ссылку на объект книги. А затем мы инициализировали его новым объектом книги. Преимущество этого подхода в том, что вы можете легко выполнять операции с этой новой книгой. Например, сохранение, закрытие, удаление и т. Д. Display A Message On Строка состояния Excel VBA Строку состояния в Excel можно использовать в качестве монитора кода. Когда ваш код VBA длинный и вы выполняете несколько задач с помощью VBA, вы часто отключаете обновление экрана, чтобы не видеть мерцающую ссылку на экране: / general-themes-in-vba-turn-off-warning-messages- using-vba-in-microsoft-excel [Отключить предупреждающие сообщения с помощью VBA в Microsoft Excel 2016] | Этот код не только отключает предупреждения VBA, но и увеличивает эффективность кода по времени. Посмотрим как.
Популярные статьи:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-повышения-продуктивности [50 сочетаний клавиш Excel для повышения производительности]
| Выполняйте свою задачу быстрее. Эти 50 ярлыков заставят вас работать в Excel еще быстрее.
link: / формулы-и-функции-введение-функции-vlookup [Функция ВПР в Excel]
| Это одна из наиболее часто используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листов.
link: / tips-countif-in-microsoft-excel [COUNTIF в Excel 2016]
| Подсчитайте значения с условиями, используя эту удивительную функцию. Вам не нужно фильтровать данные для подсчета определенного значения.
Функция Countif важна для подготовки вашей приборной панели.
link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel]
| Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.