Как Π² excel Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ макрос: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ / Skillbox Media

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ макросов Π² Excel ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

Π˜Ρ‚ΠΎΠ³: ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с 3 совСтами ΠΏΠΎ написанию ΠΈ созданию Ρ„ΠΎΡ€ΠΌΡƒΠ» Π² макросах VBA с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ мастСрства: Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ

НаписаниС Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΡ… частСй
вашСй СТСнСдСльной ΠΈΠ»ΠΈ СТСмСсячной Π·Π°Π΄Π°Ρ‡ΠΈ Excel. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄
Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ этого процСсса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ макроса, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ VBA
Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΈ ввСсти Π΅Π΅ Π² ячСйки.

ΠŸΠΎΠ½Π°Ρ‡Π°Π»Ρƒ написаниС Ρ„ΠΎΡ€ΠΌΡƒΠ» Π² VBA ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС,
поэтому Π²ΠΎΡ‚ Ρ‚Ρ€ΠΈ совСта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ процСсс.

Π‘ΠΎΠ²Π΅Ρ‚ β„– 1: Бвойство Formula

Бвойство Formula являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range Π² VBA. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для установки / создания Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ячСйки ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк.

Π•ΡΡ‚ΡŒ нСсколько Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ устанавливаСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Formula:

  1. Π€ΠΎΡ€ΠΌΡƒΠ»Π° прСдставляСт собой строку тСкста, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ.
  2. Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ со Π·Π½Π°ΠΊΠ° равСнства = послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π² макросС.

Sub Formula_Property()
  ' Π€ΠΎΡ€ΠΌΡƒΠ»Π° прСдставляСт собой строку тСкста, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ
  ' НачинаСтся со Π·Π½Π°ΠΊΠ° =
  Range("B10").Formula = "=SUM(B4:B9)"
End Sub

Бвойство Formula Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для чтСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π² ячСйкС.

Π‘ΠΎΠ²Π΅Ρ‚ β„– 2: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Macro Recorder

Если ваши Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΈΠ»ΠΈ содСрТат ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅
символы, ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² VBA. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ макросов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для нас.

Π’ΠΎΡ‚ шаги ΠΏΠΎ созданию ΠΊΠΎΠ΄Π° свойства Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдства записи макросов.

  1. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ срСдство записи макросов (Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ»> Β«Π—Π°ΠΏΠΈΡΡŒ макроса»)
  2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.
  3. НаТмитС Enter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.
  4. Код создаСтся Π² макросС.

Если ваша Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° содСрТит ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ символы ампСрсанда, макрос записи Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ это. Он создаСт всС подстроки ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ всС Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Sub Macro10()
' Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ срСдство записи макросов для создания ΠΊΠΎΠ΄Π° для слоТных Ρ„ΠΎΡ€ΠΌΡƒΠ» с
' ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ символы ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки
  ActiveCell.FormulaR1C1 = "=""Total Sales: "" & TEXT(R[-5]C,""$#,###"")"
    
End Sub

Π‘ΠΎΠ²Π΅Ρ‚ β„– 3: Нотация Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ стиля R1C1

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ срСдство записи макросов для Ρ„ΠΎΡ€ΠΌΡƒΠ», Π²Ρ‹
Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создаСт ΠΊΠΎΠ΄ со свойством FormulaR1C1.

Нотация стиля R1C1 позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (A1), Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ($A$1), Ρ‚Π°ΠΊ ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ ($A1, A$1) ссылки Π² нашСм ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠ΄Π΅.

R1C1 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ строки ΠΈ столбцы.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки

Для ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ссылок ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ количСство строк ΠΈ
столбцов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ ячСйки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°.
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк ΠΈ столбцов указываСтся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ создаст ссылку Π½Π° ячСйку, которая Π½Π° 3 строки Π²Ρ‹ΡˆΠ΅
ΠΈ Π½Π° 2 строки справа ΠΎΡ‚ ячСйки, содСрТащСй Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.

R[-3]C[2]

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа ΠΈΠ΄ΡƒΡ‚ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ строкам ΠΈ столбцам слСва.

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа ΠΈΠ΄ΡƒΡ‚ Π²Π½ΠΈΠ· ΠΏΠΎ строкам ΠΈ столбцам справа.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ссылки

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ R1C1 для Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ссылок. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это выглядит ΠΊΠ°ΠΊ $A$2.

Для Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ссылок ΠΌΡ‹ НЕ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ создаст ΠΏΡ€ΡΠΌΡƒΡŽ ссылку Π½Π° ячСйку $A$2, строка 2, столбСц 1

ΠŸΡ€ΠΈ создании ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… ссылок ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки ΠΈΠ»ΠΈ
столбца Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ячСйкС находится Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°.

ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΡ€ΠΎ-Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ это.

Бвойство FormulaR1C1 ΠΈ свойство Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

Бвойство FormulaR1C1 считываСт Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ R1C1 ΠΈ создаСт
ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ссылки Π² ячСйках. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ свойство Formula с
Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ R1C1, Ρ‚ΠΎ VBA попытаСтся Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти Π±ΡƒΠΊΠ²Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ, Ρ‡Ρ‚ΠΎ, вСроятно,
ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Formula, Ссли ваш ΠΊΠΎΠ΄ содСрТит
ссылки Π½Π° ячСйки ($ A $ 1), свойство FormulaR1C1, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ нСскольким ячСйкам ΠΈΠ»ΠΈ зависят ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅
Π²Π²Π΅Π΄Π΅Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°.

Если ваша элСктронная Ρ‚Π°Π±Π»ΠΈΡ†Π° измСняСтся Π² зависимости ΠΎΡ‚
условий Π²Π½Π΅ вашСго контроля, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Π΅ столбцы ΠΈΠ»ΠΈ строки Π΄Π°Π½Π½Ρ‹Ρ…,
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· источника Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки ΠΈ нотация стиля
R1C1, вСроятно, Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌΠΈ.

Π― надСюсь, Ρ‡Ρ‚ΠΎ эти совСты ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½ΠΈΠΆΠ΅ с вопросами ΠΈΠ»ΠΈ прСдлоТСниями.

Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ макросы Π² Microsoft Excel

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Excel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ макросы. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

КаТдая ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅, каТдая Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ создаСтС β€” всС это ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Excel, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ макросы. ΠœΠ°ΠΊΡ€ΠΎΡ Excel повторяСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ваш шаг, облСгчая Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Π°ΡˆΠΈΡ… самых ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ дСйствий.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Windows, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΈΠ³Ρ€Ρ‹ — ВБЁ Π‘Π•Π‘ΠŸΠ›ΠΠ’ΠΠž,Β Π² нашСм Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΠΊΠ°Π½Π°Π»Π΅ — ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ:)

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ записывали макросы Π² Word, Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с процСссом. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС макросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VBA (Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), Π½ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта записи макросов. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ.

Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ макрос Π² Excel

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Excel самый простой способ записи макроса Π² Microsoft Excel β€” это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Macro Recorder. Π’ΠΎ врСмя записи Macro Recorder Π²Ρ‹ выполняСтС дСйствиС. Π¨Π°Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Excel ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ запись макроса Excel, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ Π² Π»Π΅Π½Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это скрыто, поэтому Π²Π°ΠΌ придСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ панСль Π»Π΅Π½Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»Π°ΡΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ.

Для этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»Π΅Π½Ρ‚Ρƒ,

Π’ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Excel Π½Π°ΠΆΠΌΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π»Π°ΠΆΠΎΠΊΒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»Π΅Π½Ρ‚Ρƒ. НаТмитС Ok ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

ПанСль Π»Π΅Π½Ρ‚Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈ Π‘ΠΏΡ€Π°Π²ΠΊΠ°.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ запись макроса, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ> Π—Π°ΠΏΠΈΡΡŒ макроса.

Π’ Π—Π°ΠΏΠΈΡΡŒ макроса , Π΄Π°ΠΉΡ‚Π΅ Π²Π°ΡˆΠ΅ΠΌΡƒ макросу Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ имя ΠΈ описаниС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ макрос ΠΊ ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΡŽ клавиш, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²Ρƒ ΠΏΠΎΠ΄ Быстрая клавиша, хотя это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ макрос Excel с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ опция установлСна Π² ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ макрос ​​в Π­Ρ‚Ρƒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΡŒ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ макрос Π²ΠΎ всСх ΠΊΠ½ΠΈΠ³Π°Ρ… Excel, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Личная ΠœΠ°ΠΊΡ€ΠΎ Книга.

Ok Π½Π°Ρ‡Π°Ρ‚ΡŒ запись вашСго макроса. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ваш шаг послС этой Ρ‚ΠΎΡ‡ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ записан. НапримСр, Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ячСйки, эти шаги Π±ΡƒΠ΄ΡƒΡ‚ записаны.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ записали свои шаги Π² макрос, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

НаТмитС Π½Π° макрос ΠΊΠ½ΠΎΠΏΠΊΠ° Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список Π²Π°ΡˆΠΈΡ… записанных макросов.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ макрос, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ сочСтаниС клавиш ΠΊ макросу, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для запуска макроса.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ макросов Excel

Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записанный макрос, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ шаги ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. К соТалСнию, для этого потрСбуСтся Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA (Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти измСнСния Π² записанный макрос (ΠΈ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² VBA), Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ> ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свой макрос, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π­Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Office VBA. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ внСсти измСнСния Π² ΠΊΠΎΠ΄ VBA Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½Π°ΠΆΠ°Π² Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ваши измСнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² макрос Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Office VBA, Π° Π·Π°Ρ‚Π΅ΠΌ сохранитС ΠΊΠ½ΠΈΠ³Ρƒ Excel.

Если Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ макросы Π² VBA, самый простой способ β€” ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ макрос ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свой макрос ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ описанныС Π²Ρ‹ΡˆΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ шагами.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡˆΠΈΡ… макросов Excel

Начав ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ макросы Π² Excel, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ дСйствия ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΈΡ… Π² любоС врСмя.

Когда Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свою ΠΊΠ½ΠΈΠ³Ρƒ Excel, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π° ΠΊΠ½ΠΈΠ³ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов XLSM. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ записанныС макросы Excel Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Windows, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, ΠΈΠ³Ρ€Ρ‹ — ВБЁ Π‘Π•Π‘ΠŸΠ›ΠΠ’ΠΠž,Β Π² нашСм Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΠΊΠ°Π½Π°Π»Π΅ — ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ:)

ΠœΠ΅Ρ‚ΠΊΠΈ записи:
#Excel

НаписаниС макросов VBA с нуля

БрСдство записи макросов Excel ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большими возмоТностями, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ свои ограничСния. Как описано Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, срСдство записи макросов часто записываСт Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΠ»ΠΈ взаимодСйствиС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… макросов β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ Ρ€Π°ΡΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свои дСйствия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дорогостоящих ошибок.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ макросов с нуля Π² VBA. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Π³Π΄Π΅ хранятся макросы, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ макрос ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ основы программирования Π½Π° VBA с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

VBA ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Visual Basic

VBA, ΠΈΠ»ΠΈ Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, β€” это язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написаны макросы. ВсС макросы хранятся Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° VBA, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, написаны Π»ΠΈ ΠΎΠ½ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ созданы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдства записи макросов.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСму ΠΊΠΎΠ΄Ρƒ VBA Π² ΠΊΠ½ΠΈΠ³Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Visual Basic. Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, встроСнный Π²ΠΎ всС офисныС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Excel. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ этот Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ 9.0013 ALT+F11 сочСтаниС клавиш Π² Excel, Π½ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ с Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Excel Developer , Ссли ΠΎΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Project Explorer β€” это ΠΎΠΊΠ½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ VB Editor, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΌ всС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA. Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ это ΠΎΠΊΠ½ΠΎ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F5 , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ появилось, ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Project Explorer Β Π² мСню View .

Π”Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ элСмСнту Π² Project Explorer ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΊΠΎΠ΄ этого элСмСнта. БущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Project Explorer:

  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΈ
  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹
  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ класса
  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ (Π² этих элСмСнтах хранятся макросы)

Π₯отя всС эти Ρ‚ΠΈΠΏΡ‹ элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ макросы Π² модулях.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ макроса

ИспользованиС списка макросов

Π’ спискС макросов ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ всС макросы Π² вашСй ΠΊΠ½ΠΈΠ³Π΅. Из этого списка Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ макрос, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ список макросов:

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ (ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ALT+F8 )
  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ имя для вашСго макроса, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ»

ПослС наТатия Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ» появится Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VB, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный макрос. ΠŸΡ€ΠΈ нСобходимости Excel создаст Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для макроса.

Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² VB Editor

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ макрос Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π±Π΅Π· списка макросов. Π­Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сохранСн макрос.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ макрос Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

  • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VB ( ALT+F11 )
  • Π›ΠΈΠ±ΠΎ:
    • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½Π°ΠΆΠ°Π² Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ > ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π² мСню (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ откроСтся автоматичСски)
    • Π˜Π›Π˜ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Project Explorer, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ макроса
 ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° MyMacro()

ΠšΠΎΠ½Π΅Ρ† суб 

Π­Ρ‚ΠΈ Π΄Π²Π΅ строки ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† макроса с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«MyMacroΒ» (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹). Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ макросов» Π² Excel ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ (хотя ΠΎΠ½Π° Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚).

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ Π² макрос

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ строками Β«SubΒ» ΠΈ Β«End SubΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот макрос Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Π»:

 ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° MyMacro()
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«A1Β»). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!Β»
ΠšΠΎΠ½Π΅Ρ† суб 

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ структуры ΠΊΠΎΠ΄Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°

Excel VBA ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° для прСдставлСния ячССк Π½Π° листС. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range с ΠΊΠΎΠ΄ΠΎΠΌ Range(«A1») для доступа ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ячСйки A1.
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для установки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 1 
 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "ΠŸΠ΅Ρ€Π²Π°Ρ ячСйка" 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк ΠΊΠ°ΠΊ чисСл Π²Ρ‹ просто Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ число, Π½ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ тСкста Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ тСкст Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹

Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для доступа ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ свойствам ячССк, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΈΡ… ΡˆΡ€ΠΈΡ„Ρ‚, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΆΠΈΡ€Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ ячСйки ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A1").Π¨Ρ€ΠΈΡ„Ρ‚.Π–ΠΈΡ€Π½Ρ‹ΠΉ = True 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ячСйки:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«A1Β»). Π€ΠΎΡ€ΠΌΡƒΠ»Π° = Β«= Π‘ΡƒΠΌΠΌΠ° (A2: A10)Β» 

Π’ Excel Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ ячССк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курсора (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ A1 Π΄ΠΎ D10) ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… всС ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π±Π»ΠΎΠΊΠ°ΠΌ ячССк ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A1:D10").Π¨Ρ€ΠΈΡ„Ρ‚.Π–ΠΈΡ€Π½Ρ‹ΠΉ = True 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ сразу ΠΊ нСскольким ячСйкам/Π±Π»ΠΎΠΊΠ°ΠΌ:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A1:D10,A12:D12,G1").Font.Bold = True 

Π€ΠΎΡ€ΠΌΠ°Ρ‚ для этого Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали Π±Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ячССк для Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ БУММ() Π² Excel. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ отдСляСтся запятой, Π° Π±Π»ΠΎΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΡ€Π°Π²ΠΎΠΉ ячСйками, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.

НаконСц, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Range ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для выполнСния ΠΎΠ±Ρ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° листС. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1:D10"). ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("F1").PasteSpecial xlPasteValues
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("F1").PasteSpecial xlPasteFormats 

Π­Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ячСйки A1:D10 Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСт PasteSpecial(), начиная с ячСйки C1 β€” Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² Excel. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PasteSpecial() для вставки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² β€” здСсь Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ вставка».

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ вставки «ВсС» Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ лист:

 Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1:D10"). ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
Листы("Лист2").Range("A1").PasteSpecial xlPasteAll 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ if

Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ If Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «Ссли» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΠΎ.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ячСйку ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ ΠΈ ΠΏΠΎΠΊΡ€Π°ΡΠΈΡ‚ΡŒ Π΅Π΅ Π² красный Ρ†Π²Π΅Ρ‚, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «Ссли» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС мСньшС 100.

 Если Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4").  Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ < 100 Π’ΠΎΠ³Π΄Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ = Π˜ΡΡ‚ΠΈΠ½Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Interior.Color = vbRed
ΠšΠΎΠ½Π΅Ρ†, Ссли
 

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ структура ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° If выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹):

Если <условиС> Π’ΠΎΠ³Π΄Π°

[ ElseIf <Π΄Ρ€ΡƒΠ³ΠΎΠ΅-условиС> Then ]

[ Π•Ρ‰Π΅ ]

ΠšΠΎΠ½Π΅Ρ†, Ссли

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ любоС количСство Π±Π»ΠΎΠΊΠΎΠ² ElseIf для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… условий. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ Else , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… условий Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ If Π½Π΅ выполняСтся.

Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, основанный Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ, Π³Π΄Π΅ ячСйка форматируСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ значСния:

 Если Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ < 100 Π’ΠΎΠ³Π΄Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ = Π˜ΡΡ‚ΠΈΠ½Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Interior. Color = vbRed
ElseIf Range("A4").Value < 200 Π’ΠΎΠ³Π΄Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ = Π›ΠΎΠΆΡŒ
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π˜Π½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€. Π¦Π²Π΅Ρ‚ = vbYellow
Π•Ρ‰Π΅
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ = Π›ΠΎΠΆΡŒ
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π˜Π½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€. Π¦Π²Π΅Ρ‚ = vbGreen
ΠšΠΎΠ½Π΅Ρ†, Ссли 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ячСйка Π½Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Π² Π±Π»ΠΎΠΊΠ°Ρ… ElseIf, Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ мСньшС 100.Β  ΠΌΠΎΠΆΠ½ΠΎ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ If, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дублирования ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Если Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ < 100 Π’ΠΎΠ³Π΄Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π¨Ρ€ΠΈΡ„Ρ‚. ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ = Π˜ΡΡ‚ΠΈΠ½Π°
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Interior.Color = vbRed
Π•Ρ‰Π΅
    Range("A4").Font.Bold = False ' Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·
    Если Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A4").Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ < 200 Π’ΠΎΠ³Π΄Π°
        Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π˜Π½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€. Π¦Π²Π΅Ρ‚ = vbYellow
    Π•Ρ‰Π΅
        Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π˜Π½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€. Π¦Π²Π΅Ρ‚ = vbGreen
    ΠšΠΎΠ½Π΅Ρ†, Ссли
ΠšΠΎΠ½Π΅Ρ†, Ссли 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

A ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ β€” это Ρ‡Π°ΡΡ‚ΡŒ памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для хранСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ врСмя выполнСния макроса. Они часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… Π² качСствС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ для хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π· Π² макросС.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΅Π΅ использования:

 Sub ExtractSerialNumber()
    Dim strSerial As String ' это объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
                             'As String' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эта пСрСмСнная ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для хранСния тСкста
    
    ' установка Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСрийного Π½ΠΎΠΌΠ΅Ρ€Π°:
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "сСрийный Π½ΠΎΠΌΠ΅Ρ€ 804567-88"
    
    ' Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ сСрийный Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ· ячСйки A4 ΠΈ присвойтС Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
    strSerial = Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«A4Β»). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, 9)
    
    ' Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π²Π°ΠΆΠ΄Ρ‹, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрийный Π½ΠΎΠΌΠ΅Ρ€
    Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("B4"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = strSerial
    MsgBox ΡƒΠ»Π‘Π΅Ρ€ΠΈΠ°Π»
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’ этом Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная strSerial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния сСрийного Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈΠ· ячСйки A4 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid(), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ способ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Вусклый ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ [ Как Ρ‚ΠΈΠΏ ]

  • любоС имя это имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ своСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
  • Ρ‚ΠΈΠΏ - Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π§Π°ΡΡ‚ΡŒ Β«[As type ]Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Π° β€” Π² этом случаС пСрСмСнная ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Variant, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Variant Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ допустимы, ΠΈΡ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, Ссли Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ остороТны.

БущСствуСт ΠΏΡ€Π°Π²ΠΈΠ» для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ с Π±ΡƒΠΊΠ²Ρ‹, Π»ΠΈΠ±ΠΎ с символа подчСркивания, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ρ‚ΠΎΡ‡Π΅ΠΊ, запятых, ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈΠ»ΠΈ символов Β«! @ & $ #Β».

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² объявлСний ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

 Dim strFilename As String ' ΡΡ‚ΠΈΠ»ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ β€” ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСфикс

Dim i As Long 'ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΈΠΌΠ΅Π½ΠΈ - ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

Dim SalePrice As Double ' ΡΡ‚ΠΈΠ»ΡŒ ΠΈΠΌΠ΅Π½ΠΈ Π² порядкС β€” ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСфикс

Dim iCounter ' Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ имя - Π½Π΅ слишком ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСфикс, Π±Π΅Π· Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… 

Π’ΠΎ всСх этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ схСмы имСнования, Π½ΠΎ всС ΠΎΠ½ΠΈ допустимы. НСплохо ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π΅Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΊ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда.

VBA Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя мноТСство основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… . Π‘Π°ΠΌΡ‹Π΅ популярныС ΠΈΠ· Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ° (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…)
  • Long (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρ‚. Π΅. Π±Π΅Π· дСсятичных Π·Π½Π°ΠΊΠΎΠ²)
  • Double (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚. Π΅. дСсятичных разрядов)

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список встроСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… VBA ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/data-type-summary

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² своСм ΠΊΠΎΠ΄Π΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах β€” Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

Когда Π²Ρ‹ создаСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Β«ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ» Π΅Π΅ Π½Π° экзСмпляр Range. НапримСр:

 Dim rMyRange ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
УстановитС rMyRange = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«A1: A10; D1: J10Β») 

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Β«SetΒ» ΠΏΡ€ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Range ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.

ΠŸΠ΅Ρ‚Π»ΠΈ

Π¦ΠΈΠΊΠ»Ρ‹ β€” это Π±Π»ΠΎΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ΄ повторяСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·. Они ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ объСма ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ дСйствия со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ связанными элСмСнтами.

Для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ

Π‘Π»ΠΎΠΊ For-Next прСдставляСт собой Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ повторяСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² качСствС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, сколько Ρ€Π°Π· ΠΎΠ½ выполнялся, ΠΈ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ»Ρ‹ For-Next ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ячССк ΠΈΠ»ΠΈ массивов.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ячСйки Π² строках с 1 ΠΏΠΎ 100, столбСц 1 ΠΈ устанавливаСт ΠΈΡ… значСния Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°:

 Вусклый ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ
Для i = ΠΎΡ‚ 1 Π΄ΠΎ 100
    Π―Ρ‡Π΅ΠΉΠΊΠΈ (я, 1).  Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = я
Π”Π°Π»Π΅Π΅ я 

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Β«For i = 1 To 100Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» начинаСтся с 1 ΠΈ заканчиваСтся послС 100.Β Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ числа; Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для этих чисСл.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ†ΠΈΠΊΠ»Ρ‹ For-Next ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ 1. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ числу, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с явным условиСм Step :

 Для i = ΠΎΡ‚ 5 Π΄ΠΎ 100 Π¨Π°Π³ 5 

Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» начнСтся с 5, Π·Π°Ρ‚Π΅ΠΌ ΠΊ Β«iΒ» Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ 5 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» повторяСтся (Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Β«iΒ» Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ 10 ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ, 15 ΠΏΡ€ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Step , Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС:

 Для i = 100 Π΄ΠΎ 1 Π¨Π°Π³ -1 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ² For-Next. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° трСбуСтся собствСнная пСрСмСнная для подсчСта, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Excel VBA:

 Dim i As Long, j As Long
Для i = ΠΎΡ‚ 1 Π΄ΠΎ 100
    Для j = ΠΎΡ‚ 1 Π΄ΠΎ 100
        Π―Ρ‡Π΅ΠΉΠΊΠΈ (i, j).  Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = i * j
    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ j
Π”Π°Π»Π΅Π΅ я 

Π­Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ строки, Ρ‚Π°ΠΊ ΠΈ столбцы.

ΠŸΠ Π•Π”Π£ΠŸΠ Π•Π–Π”Π•ΠΠ˜Π• : хотя это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ, Π²Ρ‹ ΠΠ˜ΠšΠžΠ“Π”Π Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° For-Next, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ для отслСТивания Ρ†ΠΈΠΊΠ»Π°. ИзмСнСниС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ бСсконСчному Ρ†ΠΈΠΊΠ»Ρƒ ΠΈ зависанию макроса. НапримСр:

 Для i = ΠΎΡ‚ 1 Π΄ΠΎ 100
    я = 1
Π”Π°Π»Π΅Π΅ я 

Π’ этом Ρ†ΠΈΠΊΠ»Π΅ «я» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ прСвысит 2, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ΠΎ Π² 1, ΠΈ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π²Π΅Ρ‡Π½ΠΎ.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ

Π‘Π»ΠΎΠΊΠΈ For-Each ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Π±Π»ΠΎΠΊΠΈ For-Next, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ счСтчик для указания количСства Ρ†ΠΈΠΊΠ»ΠΎΠ². ВмСсто этого Π±Π»ΠΎΠΊ For-Each Π±Π΅Ρ€Π΅Ρ‚ Β«ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк) ΠΈ запускаСтся ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² этой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Dim r As Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ r Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (Β«A15: J54Β»)
    Если Π³.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ > 0 Π’ΠΎΠ³Π΄Π°
        r. Font.Bold = Π˜ΡΡ‚ΠΈΠ½Π°
    ΠšΠΎΠ½Π΅Ρ†, Ссли
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€ 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range β€˜r’. Π­Ρ‚ΠΎ пСрСмСнная ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² Ρ†ΠΈΠΊΠ»Π΅ For-Each β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π² Ρ†ΠΈΠΊΠ»Π΅ Β«rΒ» ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ссылку Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ячСйку Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ использования Ρ†ΠΈΠΊΠ»ΠΎΠ² For-Each Π² Excel VBA Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС ячСйки Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС ячСйки Π² слоТном Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ Range("A1:D12,J13, M1:Y12") .

Одним ΠΈΠ· нСдостатков Ρ†ΠΈΠΊΠ»ΠΎΠ² For-Each являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ порядок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ячССк. Π₯отя Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Excel Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ячСйки ΠΏΠΎ порядку, тСорСтичСски ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ячСйки Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ случайном порядкС. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ячСйки Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС, вмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ For-Next.

Do-Loop

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΠΈ For-Next ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ счСтчики, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ, Π±Π»ΠΎΠΊΠΈ Do-Loop Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ условиС. Для этого Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Before Π»ΠΈΠ±ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅, Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠ½Ρ†Π΅ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ провСряСт условиС ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ остановку Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого условия.

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

 Dim str As String
ΡƒΠ» = "Π‘ΡƒΡ„Ρ„Π°Π»ΠΎ"
Π”Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎ str = "Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo"
    str = str & " " & "Π‘ΡƒΡ„Ρ„Π°Π»ΠΎ"
ΠŸΠ΅Ρ‚Π»Ρ
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΡƒΠ» 

Π’ этом Ρ†ΠΈΠΊΠ»Π΅ Β«BuffaloΒ» ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с Β«strΒ» ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π² Ρ†ΠΈΠΊΠ»Π΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ совпадСт с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ этом случаС тСст выполняСтся Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π° β€” Ссли Β«strΒ» ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π½Π°Ρ‡Π°Π»ΠΈ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΎ Ссли Π±Ρ‹), Ρ†ΠΈΠΊΠ» Π΄Π°ΠΆΠ΅ Π½Π΅ запустился. .

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, пСрСмСстив ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€Β» Π² ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Π”Π΅Π»Π°Ρ‚ΡŒ
    str = str & " " & "Π‘ΡƒΡ„Ρ„Π°Π»ΠΎ"
Π¦ΠΈΠΊΠ» Π΄ΠΎ str = Β«Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo BuffaloΒ» 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, которая ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π² вашСм макросС.

ΠŸΠ Π•Π”Π£ΠŸΠ Π•Π–Π”Π•ΠΠ˜Π• : Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ бСсконСчный Ρ†ΠΈΠΊΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ° Do-Loop, Ссли условиС Β«Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€Β» Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выполняСтся. ВсСгда ΠΏΠΈΡˆΠΈΡ‚Π΅ свой ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ условиС Β«Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€Β» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ использовании этого Ρ‚ΠΈΠΏΠ° Ρ†ΠΈΠΊΠ»Π°.

Π§Ρ‚ΠΎ дальшС?

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ усвоили основы, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ? Наш ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ адрСсу https://www.automateexcel.com/excel/learn-vba-tutorial/ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° всСм, Ρ‡Ρ‚ΠΎ Π²Ρ‹ здСсь ΡƒΠ·Π½Π°Π»ΠΈ, ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ ваши Π½Π°Π²Ρ‹ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ событий, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ!

Β 

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос Π² Excel

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ – Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос Π² Excel

Π’ Excel ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ макрос, записав Π΅Π³ΠΎ ΠΈΠ»ΠΈ написав ΠΊΠΎΠ΄ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VB.

ПослС создания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы запуска макроса Π² Excel.

Если Π²Ρ‹ заинтСрСсованы Π² простом ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ VBA, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΌΠΎΠΈΠΌ курсом Online Excel VBA Training .

Π­Ρ‚ΠΎ руководство ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚:

Для Ρ†Π΅Π»Π΅ΠΉ этого руководства ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ макрос с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ColorCellΒ» со β€‹β€‹ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

 Sub ColorCell()
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("A1").Interior.Color = vbRed
End Sub 

Π­Ρ‚ΠΎΡ‚ однострочный ΠΊΠΎΠ΄ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ ячСйку A1 Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы запуска этого макроса Π² Excel.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Ρ„ΠΈΠ³ΡƒΡ€Ρƒ

Один ΠΈΠ· самых простых способов Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ макрос.

Π­Ρ‚ΠΎ просто ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятно.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ запуск макроса ΠΎΡ‡Π΅Π½ΡŒ простым ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным для всСх. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΊΠ½ΠΈΠ³ΠΎΠΉ с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с VBA, ΠΎΠ½ ΠΈΠ»ΠΈ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ просто Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит (Π΄Π°ΠΆΠ΅ Π½Π΅ зная, Ρ‡Ρ‚ΠΎ происходит Π² бэкэндС).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π’ΠΎΡ‚ шаги для этого:

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Вставка».
  • Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ Β«Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈΒ» Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Β«Π€ΠΈΠ³ΡƒΡ€Ρ‹Β». Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос.
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π² любом мСстС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Он вставит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист.
  • Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€/Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ любой тСкст Π² Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, просто Π²Ρ‹Π΄Π΅Π»ΠΈΠ² Π΅Π΅ ΠΈ Π½Π°Π±Ρ€Π°Π² тСкст.
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос». ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос».
  • Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π΅, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК».

Π’ΠΎΡ‚ ΠΎΠ½ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΈ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Π½Π° Π½Π΅Π΅, ΠΎΠ½Π° запускаСт Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ макрос.

Запуск макроса Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Π₯отя Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос, просто Π½Π°ΠΆΠ°Π² эту ΠΊΠ½ΠΎΠΏΠΊΡƒ.

Π’ΠΎΡ‚ шаги для назначСния макроса ΠΊΠ½ΠΎΠΏΠΊΠ΅:

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» β€”> Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния» β€”> Β«Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΒ» β€”> Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния Ρ„ΠΎΡ€ΠΌΠΎΠΉΒ» β€”> «Кнопка».
    • Π’ΠΊΠ»Π°Π΄ΠΊΠ° Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ отобраТаСтся Π½Π° Π»Π΅Π½Ρ‚Π΅, ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм.
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π² любом мСстС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ это сдСлаСтС, откроСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос».
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ OK. Π­Ρ‚ΠΎ вставит ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° лист.

Кнопка, вставляСмая ΠΏΠΎ этой ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ΅, стандартная ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ нСльзя (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΠΈΠ³ΡƒΡ€, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ практичСски всС).

Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ. Для этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ элСмСнтам управлСния, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈΠ»ΠΈ полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

Запуск макроса с Π»Π΅Π½Ρ‚Ρ‹ (Π²ΠΊΠ»Π°Π΄ΠΊΠ° "Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ")

Если Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡ‚ΡŒ нСсколько макросов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список всСх макросов Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ "ΠœΠ°ΠΊΡ€ΠΎΡΡ‹". Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ запуск Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… макросов ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста.

Π’ΠΎΡ‚ шаги:

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» -> «Код» -> Β«ΠœΠ°ΠΊΡ€ΠΎΡΡ‹Β».
  • Π’ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ "ΠœΠ°ΠΊΡ€ΠΎΡΡ‹" пСрСчислСны всС макросы Π² ΠΊΠ½ΠΈΠ³Π΅. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.
  • НаТмитС Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

Запуск макроса ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VB

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈ тСстируСтС макросы, Ρ‚ΠΎ вмСсто вставки ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ макрос ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VB.

Π’ΠΎΡ‚ шаги:

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ строку ΠΊΠΎΠ΄Π° Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ΄Π°. Если Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько макросов/ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш курсор находится Π² макросС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.
  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° панСль инструмСнтов ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° (Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сочСтаниС клавиш β€” F5).