Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор Π˜Ρ€ΠΈΠ½Π° Π€Ρ€ΠΈΠ·Π΅Π½

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° – это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ VBA, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ мСняСтся. БущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² констант.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константы – константы, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ имя; это имя ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ нСизмСняСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всСгда явно ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Const.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ объявлСния констант Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ Π½ΠΈΡ… Π±Ρ‹Π»Π° наибольшая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия.

Π›ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ константы – это константы, записываСмыС нСпосрСдствСнно Π² ΠΊΠΎΠ΄.

ΠŸΡ€Π°Π²ΠΈΠ»Π° написания Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… констант (String, Integer, Data, Boolean):

β€’ строковыС константы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ("");

β€’ пустая строковая константа (нулСвая строка) обозначаСтся двумя Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚ ("");

β€’ строковая константа Π΄ΠΎΠ»ΠΆΠ½Π° вся Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС. НСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ продолТСния строки для продолТСния Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ (строковой) константы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкС.

ЧислСнныС константы ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой ΠΈΠ· числСнных Ρ‚ΠΈΠΏΠΎΠ² VBA.

ΠŸΡ€Π°Π²ΠΈΠ»Π° написания числСнных констант:

β€’ числСнныС константы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· числовых символов ΠΎΡ‚ 0 Π΄ΠΎ 9;

β€’ числСнная константа ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ со Π·Π½Π°ΠΊΠ° минус ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ;

β€’ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС для числСнных констант;

β€’ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΈ Π² числСнных константах Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

142

– 789.3

5.55Π•4

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Date Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π½Π°ΠΊΠ°ΠΌΠΈ Ρ„ΡƒΠ½Ρ‚Π° (#). НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² записываСтся Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Π°Ρ константа Date, VBA ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ эту константу для соотвСтствия ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² – Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, содСрТит Π»ΠΈ константа Date ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

#2/5/02 9:17:00 PM#

#2/5/02#

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Boolean – ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ константы Ρ‚ΠΈΠΏΠ° Boolean: True ΠΈ False.

Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ константы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ явном Π·Π°Π΄Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° константы. ОбъявлСниС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для константы ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ вычислСний. Для констант ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Byte, Boolean, Integer, Long, Single, Double, Currency, Date, String.

Бинтаксис:

Const имя_константы As type = value, name As type = value,…

Π³Π΄Π΅ type – имя любого ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… VBA;

value – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, присваиваСмоС константС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Const Pi As Double = 3.14

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ константы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ константами. ВнутрСнняя константа – это имСнованная константа, которая Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ VBA. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ константы всС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ² vb для указания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ языком VBA (Ρ‚Π°Π±Π». 2).


Π’Π°Π±Π»ΠΈΡ†Π° 2

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

1.2. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Запуск Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA

Как ΠΈ Π»ΡŽΠ±Ρ‹Π΅ срСды программирования, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Для запуска ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° способа:

1) Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° MS Office (Word, Excel);

2) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ мСню: БСрвис + ΠœΠ°ΠΊΡ€ΠΎΡ + Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Visual Basic.

Или:

1) Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° MS Office (Word, Excel);

2) Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Alt+F11.

И Π² Ρ‚ΠΎΠΌ, ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС откроСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA (рис. 1).

Π’ Π»Π΅Π²ΠΎΠΉ части ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° появляСтся строСниС Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π°Π½Π°Π»ΠΎΠ³ с ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ). НСобходимо ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠΊΠ½Π°: Normal ΠΈ Project (ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ).

Рис. 1. Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA


ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ – это имя сохранСнного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Word, Ρ‚. Π΅. Π² скобках Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя сохранСнного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Normal Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚. Π΅. ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚. Π΄., ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны всСму ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Word. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС Word содСрТимоС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Normal становится доступным. Π’Ρ‹Π²ΠΎΠ΄: Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ!

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Project содСрТит рядом имя созданного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚. Π΅. даСтся подсказка, Π² ΠΊΠ°ΠΊΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π³Π΄Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, прилоТСния.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, рассчитывая Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выдаСтся Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Msgbox.


ВСхнология выполнСния

1. ΠΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Word, создайтС (сохранитС) Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

2. Π’Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA (Alt+F11).

3. ΠŸΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Project(Document), Π³Π΄Π΅ Document – Π½Π°Π·Π²Π°Π½ΠΈΠ΅ созданного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Insert + Module (рис. 2). Если ΠΆΠ΅ имССтся ΠΏΠ°ΠΏΠΊΠ° Modules, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π΅ (рис. 6).



Рис. 2. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ модуля Π² ΠΏΠ°ΠΏΠΊΡƒ Project


4. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ классу Module1 (рис. 3). Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA активизируСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (появится курсор), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС создаваСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ создаваСмого модуля (слово Sub) ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ (list1 – ΠΎΡ‚ листинг, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ любоС имя) появляСтся ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля End Sub.


Рис. 3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ модуля List1


ΠŸΡ€ΠΈ объявлСнии Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (согласно ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ курсор ΠΏΠ΅Ρ€Π΅Π΄ словом Sub, Π½Π°ΠΆΠ°Ρ‚ΡŒ Enter ΠΈ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, обращая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список (рис. 4).


Рис. 4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… 4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Dim a As Double

Dim b, c, d As Double

Dim k As String

Const Pi As Double = 3.14


Sub list1()

a = 5

b = 25.6

c = Sin(a ^ 2) + Cos(b) + Pi

d = Sqr(c)

MsgBox (d)

End Sub

5. Π—апуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π² (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² синтаксичСскиС ошибки). Для компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ мСню: Debug + Compile Project. Если ошибок Π½Π΅Ρ‚, запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Запуск ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈΠ»ΠΈ клавиши F5. Если всС дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ Π½Π° экранС появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Msgbox с ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ сообщСниСм (рис. 5).


Рис. 5. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ расчСтов ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ слоТСниС строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ msgbox.

ВСхнология выполнСния

1. Π’ Ρ‚ΠΎΠΌ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠ°ΠΏΠΊΡƒ Modules ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: Insert + Module (рис. 6).


Рис. 6. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ модуля


2. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появится Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ). ΠŸΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

Dim a, b, c As String

Sub list2()

a = Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚!Β»

b = « Пока нС слоТно?»

c = a + b

MsgBox (c)

End Sub

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ a ΠΈ b ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ строковыС значСния (Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…!), послС Ρ‡Π΅Π³ΠΎ происходит слоТСниС строк. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рис. 7.

Рис. 7. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 2


3. ΠŸΡ€ΠΎΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запуститС Π΅Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ находятся нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° макроса (модуля), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ макрос, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«RunΒ» (рис. 8).


Рис. 8. Π’Ρ‹Π±ΠΎΡ€ макроса Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

1.3. ИзмСнСниС порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ выраТСния

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ – это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. КаТдоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся Π΄ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния. ВыраТСния состоят ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй:

β€’ константы (Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅);

β€’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…);

β€’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹;

β€’ массивы;

β€’ элСмСнты массива;

β€’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для объСдинСния, сравнСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий Π½Π°Π΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ этот ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ выполняСт дСйствиС, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния вычислСний ΠΈ сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, для прСдоставлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ функциям ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ VBA. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

β€’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Ρ‚Ρ‹ – вычисляСтся Π΄ΠΎ значСния Ρ‚ΠΈΠΏΠ° date;

β€’ числСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ – вычисляСтся Π΄ΠΎ любого числа;

β€’ строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ – ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° string;

β€’ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ – вычисляСтся Π΄ΠΎ значСния Ρ‚ΠΈΠΏΠ° boolean.