Значение Пи — 3,14, гравитационное притяжение Земли — 9,8 м / с ^ 2 ^, вас интересует VBA и т. Д. Все это константы, и они не меняются.

image

В 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, что соответствует радиусу Земли.

Теперь, когда мы запускаем первую суб-Землю, она отлично работает и печатает площадь поверхности Земли.

В следующем субмарсе мы переопределили постоянный рад, поскольку радиус Марса изменился. Когда мы запускаем эту программу, она выдает ошибку: «Присвоение константе запрещено».

image

Как повторно инициализировать константу в 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] | Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.