Vba ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ для Excel с исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ ΠΈ описаниСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

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

VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ — Π›ΡƒΡ‡ΡˆΠΈΠ΅ 4 ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° VBA Macro Excel для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

  • Excel VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΊΠΎΠ³Π΄Π° я Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ макросы VBA, я Π½Π΅ Π·Π½Π°Π», с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ всС опрСдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΎΠΊΠ½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA. Как Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ, ΠΌΡ‹ всСгда Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΠΌ. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ — Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ сталкиваСтся с трудностями Π² использовании ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² VBA ΠΈ создании макросов. ΠœΡ‹ всС ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π² Excel ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Macro. Но Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VBA, Π½Π΅ смоТСт Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ руководством для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с VBA Macro-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ VBA Π² Excel для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ VBA Π² Excel:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ этот шаблон Excel VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ здСсь — Π¨Π°Π±Π»ΠΎΠ½ VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Excel

VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 1

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования VBA Coding. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π¨Π°Π³ 1: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ VBA, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ наш ΠΊΠΎΠ΄ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ мСню «Вставка», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π¨Π°Π³ 2: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ макроса VBA ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

Код:

 Sub VBA_Examples1 () End Sub 

Π¨Π°Π³ 3: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ DIM, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ числа ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа.

Код:

 Sub VBA_Examples1 () Dim A As Integer End Sub 

Π¨Π°Π³ 4: Π’Π΅ΠΏΠ΅Ρ€ΡŒ присвойтС любоС число ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Examples1 () Dim A As Integer A = 100 End Sub 

Π¨Π°Π³ 5: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ сообщСния для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ значСния, хранящСгося Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ A.

Код:

 Sub VBA_Examples1 () Dim A As Integer A = 100 MsgBox A End Sub 

Π¨Π°Π³ 6: ЗапуститС ΠΊΠΎΠ΄, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ воспроизвСдСния, Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄ строкой мСню. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ сообщСния со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 100 Π² Π½Π΅ΠΌ.

Код:

 Sub VBA_Examples1 () Dim A As Integer A = 100 MsgBox A End Sub 

Π¨Π°Π³ 7: Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Debug Print, значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Immediate Window. ( ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl + G, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ)

Код:

 Sub VBA_Examples1 () Dim A As Integer A = 100 Debug. ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ A End Sub 

VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 2

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» For-Next для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈΠΌΠ΅Π½ листов. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π¨Π°Π³ 1: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС имя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ это.

Код:

 Sub VBA_Examples2 () End Sub 

Π¨Π°Π³ 2: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ‹ это сдСлали Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅-1.

Код:

 Sub VBA_Examples2 () Dim A As Integer End Sub 

Π¨Π°Π³ 3: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» For-Next, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Examples2 () Dim A As Integer For Next A End Sub 

Π¨Π°Π³ 4: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ячСйки, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° листов. Π—Π΄Π΅ΡΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас Π½Π΅Ρ‚ ссылки Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ячСйки 1.

Код:

 Sub VBA_Examples2 () Dim A As Integer For A = 1 To Sheets.Count Next A End Sub 

Π¨Π°Π³ 5: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ A с ячСйкой Value, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ имя листа, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Examples2 () Dim A As Integer For A = 1 To Sheets. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ячССк (A, 1). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Sheets (A). Имя Next A End Sub 

Π¨Π°Π³ 6: Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΊΠΎΠ΄, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Play.

ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Ρƒ нас Π±Ρ‹Π»ΠΎ 3 листа с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΡ… имя Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ ΠΎΡ‚ ячСйки А1 Π΄ΠΎ Π½ΠΈΠΆΠ΅, Π΄ΠΎ количСства листов Ρƒ нас Π΅ΡΡ‚ΡŒ.

VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 3

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ научимся ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ числа. Π­Ρ‚ΠΎΡ‚ процСсс ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 2. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π¨Π°Π³ 1: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ.

Код:

 Sub VBA_Examples3 () End Sub 

Π¨Π°Π³ 2: Рассмотрим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ DIM Π² качСствС Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ числа для цСлочислСнного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹.

Код:

 Sub VBA_Examples3 () Dim A As Integer End Sub 

Π¨Π°Π³ 3: Π‘Π½ΠΎΠ²Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» For-Next, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Examples3 () Dim A As Integer For Next A End Sub 

Π¨Π°Π³ 4: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ число Π΄ΠΎ послСднСго Π² синтаксисС For.

Код:

 Sub VBA_Examples3 () Dim A As Integer для A = 1–10 Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ A End Sub 

Π¨Π°Π³ 5: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ячСйки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ А. Π—Π΄Π΅ΡΡŒ, вторая Π²Π΅Ρ€ΡˆΠΈΠ½Π° полоТСния Π² ячСйкС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ столбца. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ 1, ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ числа, начиная с ячСйки A1.

Код:

 Sub VBA_Examples3 () Dim A As Integer для A = 1–10 ячССк (A, 1). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = A Next A End Sub 

Π¨Π°Π³ 6: Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΊΠΎΠ΄, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Play. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ числа Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ячСйки A1 Π΄ΠΎ A10, начиная с 1 Π΄ΠΎ 10 .

Π¨Π°Π³ 7: Π§Ρ‚ΠΎ Ссли ΠΌΡ‹ попытаСмся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эти числа Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ столбСц? Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ столбца с 1 Π½Π° 2. Или Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Examples3 () Dim A As Integer для A = 1–10 ячССк (A, 1). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = A ячССк (A, 2). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = A Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ A End Sub 

Π¨Π°Π³ 8: Π‘Π½ΠΎΠ²Π° запуститС ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Play. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎ ΠΆΠ΅ число, начиная с 1 ΠΏΠΎ 10, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ Π² столбцС B, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ· ячСйки B1 Π΄ΠΎ B10.

VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 4

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ пустых ячССк ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ². Для этого ΠΌΡ‹ использовали Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ячСйки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π¨Π°Π³ 1: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Код:

 Sub VBA_Example4 () End Sub 

Π¨Π°Π³ 2: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ DIM Π² качСствС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Код:

 Sub VBA_Example4 () Dim A As End End Sub 

Π¨Π°Π³ 3: Π’Π΅ΠΏΠ΅Ρ€ΡŒ установитС эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Π’Ρ‹Π±ΠΎΡ€

Код:

 Sub VBA_Example4 () Dim A As Set Range A = Π’Ρ‹Π±ΠΎΡ€ End Sub 

Π¨Π°Π³ 4: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ A, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ xlCellTypeBlanks, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пустыС ячСйки.

Код:

 Sub VBA_Example4 () Dim A As Set Range A = Π’Ρ‹Π±ΠΎΡ€ A.Cells.SpecialCells (xlCellTypeBlanks). End Sub 

Π¨Π°Π³ 5: Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π° пустых ячССк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Interior.Color ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ пустыС ячСйки. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ vbBlue ΠΈΠ»ΠΈ vbGreen, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚. ИспользованиС VB являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Код:

 Sub VBA_Example4 () Dim A As Set Range A = Π’Ρ‹Π±ΠΎΡ€ A.Cells.SpecialCells (xlCellTypeBlanks) .Interior.Color = vbBlue End Sub 

Π¨Π°Π³ 6: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк ΠΈ Π·Π°Ρ‚Π΅ΠΌ запуститС ΠΊΠΎΠ΄, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Play. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ячСйки A4 ΠΈ A7, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ пустыми, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ синим Ρ†Π²Π΅Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы Excel VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

  • VBA ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ макроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ.
  • ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ макрос, Ссли Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Ρ‚Π°ΠΊ просто.
  • Π›ΡŽΠ΄ΡΠΌ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅ΠΉ Π² области кодирования, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VBA Macro.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ

  • ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Π² VBA слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ нСобходимости сохранСния ΠΊΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Excel с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅.
  • ВсСгда ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π΄Π°ΠΆΠ΅ Ссли ΠΊΠΎΠ΄ состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строки. Π­Ρ‚ΠΎ сократит нашС врСмя Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Ссли Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ошибкой послС запуска ΠΊΠΎΠ΄Π°.
  • ВсСгда Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ процСсс обучСния VBA ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка программирования с нСбольшого ΠΈ простого ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ даст Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π­Ρ‚ΠΎ руководство ΠΏΠΎ VBA ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Excel. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обсудим нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π° макроса VBA Π² Excel вмСстС с Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ шаблоном Excel. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ наши Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ —

  1. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ VBA (ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹)
  2. VBA IF ЗаявлСния | Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Excel
  3. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сортировки Excel VBA?
  4. VBA While Loop (ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ с шаблоном Excel)
  5. VBA Environ

ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ:

VBA

000 ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Microsoft Access

001. PrimaryKey ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ индСкса

002. АвтовычислСниС ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ΅

003. Автозагрузка Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

004. Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ„Π°ΠΉΠ»Π° Access

005. Быстрый Π²Ρ‹Π·ΠΎΠ² мСню

006. ВосстановлСниС ΠΏΠΎΡ‡Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Microsoft Outlook

007. ВстроСнныС SELECT запросы

008. Π’Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π² Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

009. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки Π² Ρ„ΠΎΡ€ΠΌΠ΅

010. Π’Ρ‹Π·ΠΎΠ² Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ AddressOf

011. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° записСй Π² запросах

012. Π”ΠΈΠ°Π»ΠΎΠ³ открытия Ρ„Π°ΠΉΠ»ΠΎΠ² Microsoft Office

013. ДиспСтчСр связанных Ρ‚Π°Π±Π»ΠΈΡ†

014. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ поля Π² ΠΎΡ‚Ρ‡Π΅Ρ‚ mde Ρ„Π°ΠΉΠ»Π°

015. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ рисунков Π² ΠΎΡ‚Ρ‡Π΅Ρ‚

016. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ тСкстовых ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚

017. Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΡƒΠΌ Dotnetnuke

018. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π°Π·Π½Ρ‹Ρ… курсоров

019. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² bmp ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

020. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² прСдприятия

021. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ячССк Excel

022. Запуск ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Shell

023. Π—Π°Ρ‰ΠΈΡ‚Π° открытия ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π° Shift

024. Π—Π°Ρ‰ΠΈΡ‚Π° рСвСрсом ΠΏΠΎΠ»Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

025. ИзмСнСниС запроса ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

026. ИзмСнСниС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ

027. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ поля Π² запросах

028. Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ поиск

029. ИспользованиС FORMAT

030. ИспользованиС QueryDef

031. ИспользованиС StatusBar в Microsoft Access

032. ИспользованиС Π² запросах SELECT

033. ИспользованиС запросов Π² ADO ΠΈ DAO

034. ИспользованиС калСндаря: ActiveX Calendar

035. ИспользованиС массива Dictionary

036. ИспользованиС сСрийных Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² дисков

037. ИспользованиС условий WHERE

038. ИспользованиС Ρ„ΠΎΡ€ΠΌΡ‹ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²

039. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ timeGetTime

040. Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΡƒ рисунок ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

041. Как вывСсти Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ сумму Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ листС

042. Как Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ открытия (закрытия) Ρ„Π°ΠΉΠ»ΠΎΠ²

043. Как Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ справочный Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° chm ?

044. Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ· мСню

045. Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

046. Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ листа ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

047. Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² запросС

048. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GoTo

049. Как Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π±Π΅Π· Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Windows

050. Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ — Π»ΠΈΠ½ΠΈΠΈ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅

051. Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ наТатия клавиш

052. Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана

053. Как ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅

054. Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ΅ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅

055. Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²

056. Как ΡΠΊΡ€Ρ‹Ρ‚ΡŒ/ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню

057. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹ΠΉ поиск

058. ΠΠ°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ… ΠΊΠΎΠ΄ ΠΏΠΎ систСмС EAN13

059. НомСр записи

060. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ

061. ΠžΠ±Ρ‰Π°Ρ информация ΠΎ Windows

062. ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ΅

063. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ

064. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

065. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π² ADO ΠΈ DAO

066. ΠžΡ‚ΠΌΠ΅Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… записСй ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

067. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/скрытиС ΠΎΠΊΠ½Π° прилоТСния

068. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ письмо ΠΈΠ· Outlook

069. ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†

070. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ высота строк Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅

071. ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· DoCmd.RunCommand

072. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ число записСй Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅.

073. ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

074. Поиск Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΊΠ°ΠΊ Π² Excel

075. Поиск по нСскольким полям

076. Поиск Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ

077. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

078. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСтСвого ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

079. ΠŸΡ€Π°Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ… мСню

080. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ…

081. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π² Access, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Microsoft Word

082. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹

083. ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ сортировку Π² Ρ„ΠΎΡ€ΠΌΠ΅

084. ΠŸΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ Элвиса ΠŸΡ€ΡΠΉΡΠ»ΠΈ

085. Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚Π°ΠΌΠΈ DateSerial

086. Π Π°Π±ΠΎΡ‚Π° со списками

087. Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° всС ΠΎΠΊΠ½ΠΎ

088. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

089. Π Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†

090. Рассылка факсов ΠΈΠ· Access

091. РСгистрация ActiveX элСмСнтов

092. РисованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ΅.

093. Бвойства ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

094. БвязываниС Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ

095. Бвязь с внСшними Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

096. БистСмная информация ΠΎ дисках

097. Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ ΠΎΡ‚ просмотра

098. Π‘ΠΌΠ΅Π½Π° источника Π΄Π°Π½Π½Ρ‹Ρ…

099. БнятиС пароля с Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Access 97

100. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ TreeView Π² Microsoft Access

101. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ADOX ΠΈ DAO

102. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Word Π±Π΅Π· шаблона

103. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Word с шаблоном .dot

104. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго счСтчика Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…

105. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнных массивов

106. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Microsoft Word

107. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСмСнта ListView

108. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° записСй DESC, ASC

109. Бсылка Π½Π° ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

110. Π‘Ρ‚ΠΎΡ€Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бухгалтСрских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

111. Π‘ΡƒΠΌΠΌΠ° ΠΏΡ€ΠΎΠΏΠΈcью

112. Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ поля Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅

113. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ всСми панСлями инструмСнтов

114. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ

115. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ RTF ΠΈΠ· Access

116. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ счСтчиком Ρ‚Π°Π±Π»ΠΈΡ†

117. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ тСкстовым Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ

118. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Max, Min, Avg

119. Π¦Π²Π΅Ρ‚Π½Ρ‹Π΅ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…

120. Π§ΠΈΡ‚Π°Π΅ΠΌ ΠΈ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» UDL

121. Π§ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Access 2000

122. Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² dbf Π±Π΅Π· Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования Π½Π° языкС VBA

Π’ этой Π³Π»Π°Π²Π΅

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½Π° языкС VBA
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA максимально быстрым
Ѐилософия обучСния написанию макросов Excel удСляСт большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ часто ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ описаниС Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π² Π΅Π΅ основС Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ эту Ρ‚Π΅ΠΌΡƒ, Π²Ρ‹, вСроятно, согласны со ΠΌΠ½ΠΎΠΉ. Π’ этой Π³Π»Π°Π²Π΅ прСдставлСно нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… распространСнныС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ VBA.

Π― ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ катСгориям:

Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ИзмСнСниС настроСк Excel Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ УскорСниС ΠΊΠΎΠ΄Π° VBA
Π₯отя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π°ΠΌ придСтся Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊ своим потрСбностям.

Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ вашСго программирования VBA, вСроятно, связана с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов. (ΠšΡƒΡ€Ρ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Range см. Π² Π³Π»Π°Π²Π΅ 8. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Range ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
Π’Π°ΡˆΠ΅ΠΌΡƒ VBA Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ.
Если ваш ΠΊΠΎΠ΄ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½.
БрСдство записи макросов Π½Π΅ всСгда Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный ΠΊΠΎΠ΄. Часто Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой макрос с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ устройства записи, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным.
РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π² ΠΊΠΎΠ΄Π΅ VBA. НапримСр, использованиС Range(Total) Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Range(D45). Π’ послСднСм случаС, Ссли Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ строку Π½Π°Π΄ строкой 45, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ макрос, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ использовал ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (D46).
ΠŸΡ€ΠΈ запускС макроса, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ столбцы ΠΈΠ»ΠΈ строки. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ (это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ). Π’Π°Ρˆ макрос Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подмноТСство выдСлСния, состоящСС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· нСпустых ячССк.
Excel допускаСт мноТСствСнный Π²Ρ‹Π±ΠΎΡ€. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π°ΠΆΠ°Ρ‚ΡŒ Ctrl ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. (РазумССтся, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ.) Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это Π² своСм макросС ΠΈ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π½Π° Π²Π΅Π±-сайтС этой Ρ‚Π΅ΠΌΡ‹, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ эти ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹.
Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Alt+F11, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ VBE. Π—Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ VBA ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ рабочая ΠΊΠ½ΠΈΠ³Π° настроСна ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. НапримСр, Ссли Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° листа с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Лист1 ΠΈ Лист2, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡ‚ΡŒ листы с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.


ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° считаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… дСйствий Excel всСх Π²Ρ€Π΅ΠΌΠ΅Π½. Когда Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ срСдство записи макросов ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ A1:A5 Π΄ΠΎ B1:B5, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ этот макрос VBA:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° послСднСС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±Ρ‹Π» сгСнСрирован Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Esc, которая отмСняСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΌΡƒΡ€Π°Π²ΡŒΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ появляСтся Π½Π° листС ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
Π­Ρ‚ΠΎΡ‚ макрос Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ эффСктивно, Ρ‡Π΅ΠΌ этот. Π’ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ однострочного макроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ячСйки:

Π’ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Copy ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ мСсто назначСния. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ дСмонстрируСт, Ρ‡Ρ‚ΠΎ срСдство записи макросов Π½Π΅ всСгда Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный ΠΊΠΎΠ΄.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк, Π½ΠΎ нСизвСстны Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ строки ΠΈ столбца. НапримСр, Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рабочая ΠΊΠ½ΠΈΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк мСняСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ добавлСния Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
На рис. 14-1 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Π­Ρ‚ΠΎΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΈ количСство строк ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈΠ·ΠΎ дня Π² дСнь. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ адрСс Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, написаниС макроса для копирования Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²?

Рисунок 14-1:
Π­Ρ‚ΠΎΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· любого количСства строк.
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос дСмонстрируСт, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с Листа1 Π½Π° Лист2 (начиная с ячСйки A1). Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свойство Current Region, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊΡƒ ячССк Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйки. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это А1.

ИспользованиС свойства Β«Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½Β» эквивалСнтно Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Β», Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½Β». Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ свои дСйствия ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ВСкущая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ состоит ΠΈΠ· ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ячССк, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСсколькими пустыми строками ΠΈΠ»ΠΈ столбцами.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот макрос Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π½Π΅ выбирая мСсто назначСния. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ копирования ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ для Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки ΠΈΠ»ΠΈ столбца ячСйку Π² ΠΊΠΎΠ½Π΅Ρ† строки ΠΈΠ»ΠΈ столбца. ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ макросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ эти Ρ‚ΠΈΠΏΡ‹ Π²Ρ‹Π±ΠΎΡ€Π°.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ВСкущая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ вСсь Π±Π»ΠΎΠΊ ячССк. Но Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, скаТСм, ΠΎΠ΄ΠΈΠ½ столбСц ΠΈΠ· Π±Π»ΠΎΠΊΠ° ячССк? К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, VBA ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ этот Ρ‚ΠΈΠΏ дСйствий. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° VBA Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ячСйки ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ ячСйкой Ρ‡ΡƒΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ пустой ячСйки Π² столбцС. Π’Ρ‹Π΄Π΅Π»ΠΈΠ² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌ всС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ β€” ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ End ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Active Cell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range. ΠœΠ΅Ρ‚ΠΎΠ΄ End ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любая ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… констант:
xlUp
xlDown
xlToLeft xlToRight
Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ нСобходимости Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с Π½ΠΈΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос примСняСт ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π΅Π· Π²Ρ‹Π±ΠΎΡ€Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:

Π’Ρ‹Π±ΠΎΡ€ строки ΠΈΠ»ΠΈ столбца

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° дСмонстрируСт, ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ столбСц, содСрТащий Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ячСйку. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свойство Entire Column, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range, состоящий ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ столбца:

Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, VBA Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ свойство Entire Row, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range, состоящий ΠΈΠ· Ρ†Π΅Π»ΠΎΠΉ строки.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

Π’Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, вырСзая Π΅Π³ΠΎ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ вставляя Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто. Если Π²Ρ‹ записываСтС свои дСйствия Π²ΠΎ врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСмСщСния, срСдство записи макросов Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Как ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π½Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅, это Π½Π΅ самый эффСктивный способ пСрСмСщСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк. На самом Π΄Π΅Π»Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° VBA, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π­Ρ‚ΠΎΡ‚ макрос ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Cut ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ мСсто назначСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ячСйки остаСтся Π² исходном ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ

МногиС макросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкой Π² ​​диапазонС ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ дСйствия Π½Π° основС содСрТимого ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки. Π­Ρ‚ΠΈ макросы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ†ΠΈΠΊΠ» For-Next, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк. Π’ этом случаС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ являСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Cell относится ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ячСйкС. Π’ Ρ†ΠΈΠΊΠ»Π΅ For-Next СдинствСнный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ячСйку ΠΈ мСняСт Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†Π²Π΅Ρ‚, Ссли ячСйка содСрТит ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ состоит ΠΈΠ· Ρ†Π΅Π»ΠΎΠ³ΠΎ столбца ΠΈΠ»ΠΈ строки? Π­Ρ‚ΠΎ Π½Π΅ Ρ€Π΅Π΄ΠΊΠΎΡΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Excel позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ столбцами ΠΈΠ»ΠΈ строками. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС макрос каТСтся бСсконСчным, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ β€” Π΄Π°ΠΆΠ΅ пустыС ячСйки. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ макрос Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ срСдство для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСпустых ячССк.
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ячССк. (ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… см. Π² справочной систСмС VBA.) Π­Ρ‚Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Set для создания Π΄Π²ΡƒΡ… Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: подмноТСства Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, состоящСго ΠΈΠ· ячССк с константами, ΠΈ подмноТСства Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, состоящСго ΠΈΠ· ячССк с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌΠΈ. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· этих подмноТСств, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ всС пустыС ячСйки ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π»ΠΎΠ²ΠΊΠΎ, Π°?

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Skip Blanks Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ быстро, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, всС столбцы Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, всС строки Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ вСсь Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ProcessCells, прСдставлСнной Ρ€Π°Π½Π΅Π΅ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² этом ΠΊΠΎΠ΄Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Excel ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ошибки ΠΈ просто ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (обсуТдСниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок см. Π² Π³Π»Π°Π²Π΅ 12). Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ячССк Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли Π½ΠΈ ΠΎΠ΄Π½Π° ячСйка Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.
ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ячСйки» эквивалСнтно Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈΒ», Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹Β» ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹Β». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ свои дСйствия Π²ΠΎ врСмя выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

Запрос значСния ячСйки

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 14-2, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ VBA InputBox для получСния значСния ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° дСмонстрируСт, ΠΊΠ°ΠΊ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку A1 Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

Рисунок 14-2:
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ VBA InputBox для получСния значСния ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
Если Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° стираСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС A1. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос дСмонстрируСт Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (x) для хранСния значСния, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ пустоС (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β»), Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x помСщаСтся Π² ячСйку A1. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ x ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числом ΠΈΠ»ΠΈ пустой строкой (Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΌΠ΅Π½Π°»).

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π²Ρ‹Π±ΠΎΡ€Π°

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

Если Π²Ρ‹Π±Ρ€Π°Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range, MsgBox ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Range. Если ваш макрос Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ If, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ‹Π±Ρ€Π°Π½. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ отобраТаСтся сообщСниС ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, Ссли Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Range:

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Excel допускаСт мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, наТимая Ctrl ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ макросами. НапримСр, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, состоящий ΠΈΠ· нСсмСТных Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ². (ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, Ссли Π½Π΅ Π²Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠ½Π΅.)
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос дСмонстрируСт, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, сдСлал Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш макрос ΠΌΠΎΠ³ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ дСйствиС:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Areas, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π²Ρ‹Π±ΠΎΡ€Π΅. Бвойство Count Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

ИзмСнСниС настроСк Excel

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

ИзмСнСниС логичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Подобно Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŽ свСта, логичСский ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π»ΠΈΠ±ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ строк ΠΈ столбцов Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Если Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Excel Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, Ссли Π²Ρ‹ записываСтС свои дСйствия ΠΏΡ€ΠΈ доступС ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ Β«ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Β»:

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΈ записи макроса, Excel Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ навСсти вас Π½Π° ΠΌΡ‹ΡΠ»ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π° макроса: ΠΎΠ΄ΠΈΠ½ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΎΠ΄ΠΈΠ½ для ΠΈΡ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. НС ΠΏΡ€Π°Π²Π΄Π°. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Not для эффСктивного ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ отобраТСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° с True Π½Π° False ΠΈ с False Π½Π° True:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист являСтся Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листом. (Листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².) Если Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ настройками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ логичСскиС значСния (True ΠΈΠ»ΠΈ False).

ИзмСнСниС Π½Π΅Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ структуру Select Case для Π½Π΅Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅ΠΆΠΈΠΌ вычислСний ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€ΡƒΡ‡Π½Ρ‹ΠΌ ΠΈ автоматичСским, ΠΈ отобраТаСтся сообщСниС, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ:

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, поэтому ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ это, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ срСдство записи макросов, создайтС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Ρ‹ количСством ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Excel. Однако послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… макросов.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ макросы, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ. ВстроСнная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π½Π° листС β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Chart Object. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ лист. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Chart 1:

ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π΅ Π² своСм ΠΊΠΎΠ΄Π΅ VBA ΠΊΠ°ΠΊ Π½Π° Active Chart. Если Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° находится Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ листС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ½Π° становится Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ этот лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.
Когда Π²Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, Excel фактичСски Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Chart Object. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΆΠ°Π² Ctrl ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя встроСнной Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅ «Имя» (элСмСнт управлСния слСва ΠΎΡ‚ строки Ρ„ΠΎΡ€ΠΌΡƒΠ»), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя.

ИзмСнСниС Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

Π’ΠΎΡ‚ Π²Π°ΠΌ ΡΠ±ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ с Ρ‚ΠΎΠ»ΠΊΡƒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Chart Object дСйствуСт ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Chart.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. ВмСсто этого ΠΌΠ΅Ρ‚ΠΎΠ΄ Chart ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Chart. Π’Ρ‹ Π΅Ρ‰Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ? Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ эффСкт β€” ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Chart 1 Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с областями. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° сначала Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ; Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚. ВстроСнная константа xlArea прСдставляСт собой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с областями.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Chart Objects

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ измСняСтся Ρ‚ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ встроСнной Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» For-Next для цикличСского просмотра ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΈ измСнСния Π΅Π³ΠΎ свойства Type.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос выполняСт Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° всСх листах Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅:

ИзмСнСниС свойств

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ измСняСтся ΡˆΡ€ΠΈΡ„Ρ‚ Π»Π΅Π³Π΅Π½Π΄Ρ‹ для всСх Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» For-Next для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Chart Object:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Font содСрТится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Legend, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Chart, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Chart Objects. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это называСтся ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²?

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ форматирования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ примСняСтся нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² форматирования:

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ этого макроса. АктивируйтС Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π΅Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π½Π° листС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π±Ρ€Π°Π½Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. (ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎΠ± ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибок см. Π² Π³Π»Π°Π²Π΅ 12.) Π’ΠΎΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС, Ссли Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π°:

Π― создал этот макрос, записывая свои дСйствия ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π—Π°Ρ‚Π΅ΠΌ я подчистил записанный ΠΊΠΎΠ΄, ΡƒΠ΄Π°Π»ΠΈΠ² Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ строки.

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ скорости VBA

VBA Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро, Π½ΠΎ Π½Π΅ всСгда достаточно быстро. (ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ достаточно быстрыми.) Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ускорСния макросов.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ обновлСния экрана

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ макроса ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Ρ‡Ρ‚ΠΎ происходит Π² макросС. Π₯отя это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, послС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ макроса это часто Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ происходит ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ макроса. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ происходит Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ макроса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ снова Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² скорости, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ этот простой макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заполняСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ: ΠΊΠ»Π΅Ρ‚ΠΊΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ снова:

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ заполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, ΠΈ Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΠΎΠΊΠ° макрос Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ автоматичСского расчСта

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист со мноТСством слоТных Ρ„ΠΎΡ€ΠΌΡƒΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс, установив Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ расчСта Π²ΠΎ врСмя выполнСния макроса. Когда макрос Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, снова установитС Ρ€Π΅ΠΆΠΈΠΌ расчСта Π½Π° автоматичСский.
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ инструкция устанавливаСт Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ вычислСний Π² Excel:

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ автоматичСский Ρ€Π΅ΠΆΠΈΠΌ вычислСний:

УстранСниС Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… сообщСний

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, макрос ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ряд дСйствий. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ макрос, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΡƒΠ»Π΅Ρ€Ρƒ с Π²ΠΎΠ΄ΠΎΠΉ, ΠΏΠΎΠΊΠ° Excel Π΄Π΅Π»Π°Π΅Ρ‚ своС Π΄Π΅Π»ΠΎ. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, выполняСмыС Π² Excel, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ сообщСния, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. НапримСр, Ссли ваш макрос удаляСт лист, Excel ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° рис. 14-3. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ сообщСний ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Excel Π±Π΅Π· присмотра, ΠΏΠΎΠΊΠ° ΠΎΠ½ выполняСт ваш макрос.

Рисунок 14-3:
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Excel Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ эти Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π²ΠΎ врСмя выполнСния макроса.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этих ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… сообщСний, Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² макрос ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ VBA:

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Excel автоматичСски сбрасываСт свойство Β«ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ прСдупрСТдСния» Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«Π˜ΡΡ‚ΠΈΠ½Π°Β» (Π΅Π³ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС).

Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Как Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ. НапримСр, полная ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Если ваш макрос часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Set. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваиваСт этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Rate:

ПослС опрСдСлСния этой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Rate вмСсто Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ссылки. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Π°Ρ ставка»:

Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ), Ρ‡Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅:

Помимо упрощСния написания ΠΊΠΎΠ΄Π°, использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π°ΡˆΠΈΡ… макросов. ПослС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ макросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π΄Π²Π° Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅.

ОбъявлСниС Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ присваиваСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Excel ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π΄Π΅Ρ‚Π°Π»ΠΈ для вас Π·Π° кулисами. НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyVar, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ число любого Ρ‚ΠΈΠΏΠ°. Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку ΠΏΠΎΠ·ΠΆΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅.
Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС (ΠΈ ΠΈΠ·Π±Π΅Π³Π°Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ нСприятных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ), сообщитС Excel, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ присвоСн ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ объявлСниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. (ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ см. Π² Π³Π»Π°Π²Π΅ 7.) Π’Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅.
Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наимСньшСго количСства Π±Π°ΠΉΡ‚ΠΎΠ², Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ всС Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅. Когда VBA Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния зависит ΠΎΡ‚ количСства Π±Π°ΠΉΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ располагаСт VBA. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ‡Π΅ΠΌ мСньшС Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π΅ΠΌ быстрСС VBA ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ.
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΊΠ°ΠΊ описано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ИспользованиС структуры With-End With

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ряд свойств для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°? Π’Π°Ρˆ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ структуру With-End With. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ прСимущСством являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ With-End With:

Π’ΠΎΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄, пСрСписанный для использования With-End With.

Если эта структура каТСтся Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ, это, вСроятно, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° записи макросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ With-End With всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

18 Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ использованию ΠΊΠΎΠ΄ΠΎΠ² VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спасут вас

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· самых ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² VBA Excel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. VBA β€” это язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй MS Excel ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MS Office. Π­Ρ‚ΠΎ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ MS Excel, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ вас с VBA ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ…, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ использованию ΠΊΠΎΠ΄ΠΎΠ² VBA. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ макросов для создания собствСнных скриптов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… вашим потрСбностям.

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

Π― ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» для вас ряд Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ использованию ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² VBA Excel Macro с большой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Β«ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΒ» ΠΈΡ… Π² свой Ρ„Π°ΠΉΠ» Excel. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π±Π·Π°Ρ† касаСтся установки макроса Excel. ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ эту Ρ‡Π°ΡΡ‚ΡŒ, Ссли Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этим.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ макрос

Π’ Excel Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш alt+F11. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ вас ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ VBA Π² MS Excel. Π—Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠ°ΠΏΠΊΡƒ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Microsoft ExcelΒ» слСва ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΒ» => Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒΒ». Π­Ρ‚ΠΎ мСсто, Π³Π΄Π΅ хранятся макросы. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ макрос, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Excel с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π€Π°ΠΉΠ»Β» => Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΒ» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов» (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .xlsm). Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ макрос!

1.

Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ макрос, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· vba ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² соотвСтствии со своими трСбованиями:

 Sub CopyFiletoAnotherWorkbook()
    'Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅
        Листы("ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1").Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½("B4:C15").ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
    'Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
        Книги.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ
    'Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅
        ActiveSheet.Paste
    'ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ оповСщСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
        Application.DisplayAlerts = Π›ΠΎΠΆΡŒ
    'Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.
        Имя Ρ„Π°ΠΉΠ»Π° ActiveWorkbook.SaveAs:="C:\Temp\MyNewBook.xlsx"
    'Π‘Π½ΠΎΠ²Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ оповСщСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
        Application.DisplayAlerts = Π˜ΡΡ‚ΠΈΠ½Π°
ΠšΠΎΠ½Π΅Ρ† суб 
2. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ скрытыС строки

Иногда большиС Ρ„Π°ΠΉΠ»Ρ‹ Excel содСрТат скрытыС строки для большСй ясности. Π’ΠΎΡ‚ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС строки Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС:

 Sub ShowHiddenRows()
    Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹.EntireColumn.Hidden = Π›ΠΎΠΆΡŒ
    Π‘Ρ‚Ρ€ΠΎΠΊΠΈ. EntireRow.Hidden = Π›ΠΎΠΆΡŒ
End Sub 
3. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ пустыС строки ΠΈ столбцы

ΠŸΡƒΡΡ‚Ρ‹Π΅ строки Π² Excel ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΡ‚ Π½ΠΈΡ… ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ:

 Sub DeleteEmptyRowsAndColumns()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
        Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ MyRange ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
        Dim iCounter Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ°
    'ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ MyRange = ActiveSheet.UsedRange
        'ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Rows.
        Для iCounter = MyRange.Rows.Count To 1 Step -1
    'Если вся строка пуста, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π΅.
           Если Application.CountA(Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(iCounter).EntireRow) = 0 Π’ΠΎΠ³Π΄Π°
               Π‘Ρ‚Ρ€ΠΎΠΊΠΈ(iCounter).Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
               'Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ строки пустыС
               'MsgBox "строка" & iCounter & "пуста"
           ΠšΠΎΠ½Π΅Ρ†, Ссли
    'Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ счСтчик Π²Π½ΠΈΠ·
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ iCounter
    'Π¨Π°Π³ 6: НачнитС ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Columns.
        Для iCounter = MyRange.Columns.Count To 1 Step -1
    'Π¨Π°Π³ 7: Если вСсь столбСц пуст, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ. 
               Если Application.CountA(Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹(iCounter).EntireColumn) = 0 Π’ΠΎΠ³Π΄Π°
                Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹(iCounter).Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
               ΠšΠΎΠ½Π΅Ρ†, Ссли
    'Π¨Π°Π³ 8: Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ счСтчик Π²Π½ΠΈΠ·
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ iCounter
ΠšΠΎΠ½Π΅Ρ† суб 
4. Найти ΠΏΡƒΡΡ‚ΡƒΡŽ ячСйку
 Sub FindEmptyCell()
    ActiveCell.Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅(1, 0).Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ
       Π”Π΅Π»Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ пусто (ActiveCell)
          ActiveCell.Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅(1, 0).Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ
       ΠŸΠ΅Ρ‚Π»Ρ
End Sub 
5. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ пустыС ячСйки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, пустыС ячСйки ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ созданию сводных Ρ‚Π°Π±Π»ΠΈΡ†. Π’ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ замСняСт всС пустыС ячСйки Π½Π° 0. Π­Ρ‚ΠΎΡ‚ макрос ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ большоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² N/A, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡ΠΊΠΈ, запятыС ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния:

 Sub FindAndReplace()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ MyRange ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
        Dim MyCell ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ячССк?
        Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Case MsgBox("НСвозмоТно ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это дСйствиС. " & _
                            Β«Π‘Π½Π°Ρ‡Π°Π»Π° ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ?Β», vbYesNoCancel)
            Π”Π΅Π»ΠΎ = vbΠ”Π°
            ThisWorkbook.Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ
            Π‘Π»ΡƒΡ‡Π°ΠΉ = vbCancel
            Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
        ΠšΠΎΠ½Π΅Ρ† Π²Ρ‹Π±ΠΎΡ€Π°
    'ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        УстановитС MyRange = Π’Ρ‹Π±ΠΎΡ€
    'НачнитС ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки MyCell Π² MyRange
    'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ, Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 0.
            Если Len(MyCell.Value) = 0 Π’ΠΎΠ³Π΄Π°
                Моя ячСйка = 0
            ΠšΠΎΠ½Π΅Ρ†, Ссли
    'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ячСйку Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ MyCell
ΠšΠΎΠ½Π΅Ρ† суб 
6. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° чисСл

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос сортируСт Π² порядкС возрастания всС числа ΠΈΠ· столбца Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ячСйки. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ячСйку Π² столбцС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
NB: Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° лист 1, Π° Π½Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹:

 Private Sub Worksheet_BeforeDoubleClick (ByVal Target as Range, Cancel As Boolean)
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Dim LastRow As Long
    'Найти послСднюю строку
        LastRow = Cells (Rows. Count, 1) .End (xlUp) .Row
    'Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ столбца
        Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ("6:" ΠΈ LastRow). Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° _
        Key1: = Π―Ρ‡Π΅ΠΉΠΊΠΈ (6, ActiveCell.Column), _
        ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ1: = кслПо Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ
ΠšΠΎΠ½Π΅Ρ† суб 
7. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ пустых пространств

Иногда Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ½ΠΈΠ³Π΅ содСрТат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ (ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. Π’ΠΎΡ‚ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄Π°Π»ΠΈΡ‚ всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк:

 Sub TrimTheSpaces()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ MyRange ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
        Dim MyCell ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    'Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ячССк
        Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Case MsgBox("НСвозмоТно ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это дСйствиС." & _
                            Β«Π‘Π½Π°Ρ‡Π°Π»Π° ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ?Β», vbYesNoCancel)
            Π”Π΅Π»ΠΎ = vbΠ”Π°
            ThisWorkbook.Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ
            Π‘Π»ΡƒΡ‡Π°ΠΉ = vbCancel
            Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
        ΠšΠΎΠ½Π΅Ρ† Π²Ρ‹Π±ΠΎΡ€Π°
    'ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        УстановитС MyRange = Π’Ρ‹Π±ΠΎΡ€
    'НачнитС ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. 
        Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки MyCell Π² MyRange
    Β«ΠžΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.
            Если НС ЯвляСтся ΠŸΡƒΡΡ‚Ρ‹ΠΌ (Моя Π―Ρ‡Π΅ΠΉΠΊΠ°), Π’ΠΎΠ³Π΄Π°
                Моя ячСйка = ΠžΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ (Моя ячСйка)
            ΠšΠΎΠ½Π΅Ρ†, Ссли
    'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ячСйку Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ MyCell
ΠšΠΎΠ½Π΅Ρ† суб 
8. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния

Иногда Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… столбцах Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ это:

 Sub HighlightDuplicates()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ MyRange ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
        Dim MyCell ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    'ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        УстановитС MyRange = Π’Ρ‹Π±ΠΎΡ€
    'НачнитС ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
        Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки MyCell Π² MyRange
    'Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ячСйка ΠΈΠΌΠ΅Π΅Ρ‚ тСкстовоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
            Если WorksheetFunction.CountIf(MyRange, MyCell.Value) > 1, Ρ‚ΠΎ
                MyCell.Interior.ColorIndex = 36
            ΠšΠΎΠ½Π΅Ρ†, Ссли
    'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ячСйку Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ MyCell
ΠšΠΎΠ½Π΅Ρ† суб 
9.

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ дСсятку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π΅ΡΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ячССк:

 Sub TopTen ()
    Selection.FormatConditions.AddTop10
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Π‘ Selection.FormatConditions(1)
            .TopBottom = xlTop10Top
            'Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π½Π³ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
            .Π Π°Π½Π³ = 10
            .ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ = Π›ΠΎΠΆΡŒ
        ΠšΠΎΠ½Π΅Ρ† с
        Π‘ Selection.FormatConditions(1).Font
            .Π¦Π²Π΅Ρ‚ = -16752384
            .TintAndShade = 0
        ΠšΠΎΠ½Π΅Ρ† с
        Π‘ Selection.FormatConditions(1).Interior
            .PatternColorIndex = кслаутоматик
            .Π¦Π²Π΅Ρ‚ = 13561798
            .TintAndShade = 0
        ΠšΠΎΠ½Π΅Ρ† с
    Selection.FormatConditions(1).StopIfTrue = False
End Sub 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

10. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ значСния большС

ΠŸΡ€ΠΈ запускС этого ΠΊΠΎΠ΄Π° появится ΠΎΠΊΠ½ΠΎ с запросом. Он спросит Ρƒ вас Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π°ΠΌΠΈ ячСйками.

 ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ°GreaterThanValues()
    Dim i ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
    i = InputBox("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС Ρ‡Π΅ΠΌ", "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅")
    Selection.FormatConditions.Delete
    'Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° xlLower, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ значСния Π½ΠΈΠΆΠ΅
    Selection.FormatConditions.Add Π’ΠΈΠΏ:=xlCellValue, ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:=xlGreater, Formula1:=i
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        Π‘ Selection.FormatConditions(1)
            .Π¨Ρ€ΠΈΡ„Ρ‚.Π¦Π²Π΅Ρ‚ = RGB(0, 0, 0)
            .Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ.Π¦Π²Π΅Ρ‚ = RGB(31, 218, 154)
        ΠšΠΎΠ½Π΅Ρ† с
ΠšΠΎΠ½Π΅Ρ† суб 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ значСния.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ макрос, Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ всС ячСйки, содСрТащиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

 Sub HighlightCommentCells()
    Selection.SpecialCells(xlCellTypeComments).Select
    Selection.Style= "ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅"
End Sub 
12. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ячССк со словами с ошибками

Π­Ρ‚ΠΎ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ строки, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π²Π²Π΅Π» строку с ошибкой, ΠΈ ваши Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

 Sub ColorMispelledCells()
    Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ cl Π² ActiveSheet.UsedRange
        Если Π½Π΅ Application.CheckSpelling(Word:=cl.Text) Then _
        ΠΊΠ».Interior.ColorIndex = 28
    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»
End Sub 
13. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΡΠ²ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ²ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² MS Excel (вСрсия 2007 Π³.). ОсобСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ созданиС сводной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 Sub PivotTableForExcel2007()
    Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ исходный Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ SourceRange = Sheets("Лист1").Range("A3:N86")
    ActiveWorkbook.PivotCaches.Create( _
    SourceType:=xlDatabase, _
    SourceData:=SourceRange, _
    ВСрсия:=xlPivotTableVersion12).CreatePivotTable _
    НазначСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:="", _
    Π˜ΠΌΡΠ’Π°Π±Π»ΠΈΡ†Ρ‹:="", _
    ДСфолтвСрсион: = кслпивоттаблСвСрсион12
ΠšΠΎΠ½Π΅Ρ† суб 
14. ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΊ элСктронному ΠΏΠΈΡΡŒΠΌΡƒ

Мой Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ VBA. Он позволяСт Π²Π°ΠΌ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ», Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅, с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ адрСсом элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ сообщСния ΠΈ Ρ‚Π΅Π»ΠΎΠΌ сообщСния! Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку Π½Π° Microsoft Outlook (Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ инструмСнты => ссылки ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Microsoft Outlook).

 Sub SendFIleAsAttachment()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
    'Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Microsoft Outlook
        Dim OLApp ΠΊΠ°ΠΊ Outlook.Application
        Dim OLMail ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
    'ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Outlook, Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ элСмСнт
        УстановитС OLApp = Новый Outlook.Application
        УстановитС OLMail = OLApp.CreateItem(0)
        OLApp.Session.Logon
    'Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ свой ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅
        Π‘ OLMail
        .To = "[email protected]; [email protected]"
        .Π‘Π‘ = ""
        .BCC = ""
        .Subject = "Π­Ρ‚ΠΎ строка Ρ‚Π΅ΠΌΡ‹"
        .Body = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"
        .Attachments.Add ActiveWorkbook.FullName
        .Display 'Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° .Send для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
        ΠšΠΎΠ½Π΅Ρ† с
    'ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° памяти
        УстановитС OLMail = НичСго
        УстановитС OLApp = НичСго
ΠšΠΎΠ½Π΅Ρ† суб 
15. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ всС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Excel Π² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ PowerPoint

ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ макрос, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Excel Π² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Powerpoint ΠΎΠ΄Π½ΠΈΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ:

 Sub SendExcelFiguresToPowerPoint()
    'Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Microsoft Powerpoint
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Dim PP As PowerPoint. Application
        Dim PPPres As PowerPoint.Presentation
        Π—Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ PPSlide ΠΊΠ°ΠΊ PowerPoint.Slide
        Dim i ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
    'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹; Π²Ρ‹ΠΉΡ‚ΠΈ, Ссли Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π½Π΅Ρ‚
        Листы("Π”Π°Π½Π½Ρ‹Π΅ слайда").Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ
            Если ActiveSheet.ChartObjects.Count < 1 Π’ΠΎΠ³Π΄Π°
                MsgBox "НСт Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС"
                Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
            ΠšΠΎΠ½Π΅Ρ†, Ссли
    'ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ PowerPoint ΠΈ создайтС Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ
        УстановитС PP = New PowerPoint.Application
        УстановитС PPPres = PP.Presentations.Add
        PP.Π’ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ = Π˜ΡΡ‚ΠΈΠ½Π°
    'Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π½Π° основС количСства Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²
            Для i = 1 Π² ActiveSheet.ChartObjects.Count
            'Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ
                ActiveSheet.ChartObjects(i).Chart.CopyPicture _
                Π Π°Π·ΠΌΠ΅Ρ€:=xlScreen, Π€ΠΎΡ€ΠΌΠ°Ρ‚:=xlPicture
                Application.Wait(БСйчас + TimeValue("0:00:1"))
            'ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ слайдов ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ слайда Π² качСствС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ доступного Π½ΠΎΠΌΠ΅Ρ€Π° слайда
                ppSlideCount = PPPres. Slides.Count
                УстановитС PPSlide = PPPres.Slides.Add (SlideCount + 1, ppLayoutBlank)
                PPSlide.Select
            'Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅; ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ
                PPSlide.Shapes.Paste.Select
                PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
                PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
            Π”Π°Π»Π΅Π΅ я
    'ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° памяти
        УстановитС PPSlide = НичСго
        УстановитС PPPres = НичСго
        УстановитС PP = НичСго
ΠšΠΎΠ½Π΅Ρ† суб 
16. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Excel Π² MS Word

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Excel ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² тСкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’ΠΎΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ способ экспорта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel Π² MS Word:

 Sub ExcelTableInWord()
    'Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Microsoft Word
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Π—Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ MyRange ΠΊΠ°ΠΊ Excel.Range
        Dim wd As Word.Application
        Dim wdDoc ΠΊΠ°ΠΊ Word.Document
        Dim WdRange As Word. Range
    'Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
       Sheets("Π’Π°Π±Π»ΠΈΡ†Π° Π΄ΠΎΡ…ΠΎΠ΄ΠΎΠ²").Range("B4:F10").Cop
    'ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Word
        УстановитС wd = НовоС Word.Application
        УстановитС wdDoc = wd.Documents.Open _
        (ThisWorkbook.Path & "\" & "PasteTable.docx")
        wd.Visible = Π˜ΡΡ‚ΠΈΠ½Π°
    'Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ фокус Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅
        УстановитС WdRange = wdDoc.Bookmarks("DataTableHere").RangΠ΅
    'Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ
        ΠŸΡ€ΠΈ ошибкС Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π”Π°Π»Π΅Π΅
        WdRange.Tables(1).Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
        WdRange.Paste 'Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ
    'ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ столбцов
        WdRange.Tables(1).Columns.SetWidth _
        (MyRange.Width/MyRange.Columns.Count), вдададТустсамСвидс
    'ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ
        wdDoc.Bookmarks.Add "DataTableHere", WdRange
    'ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° памяти
        УстановитС wd = НичСго
        УстановитС wdDoc = НичСго
        УстановитС WdRange = Π½ΠΈΡ‡Π΅Π³ΠΎ
ΠšΠΎΠ½Π΅Ρ† суб 

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Ссли Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство символов. Но Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ слово ΠΈΠ· прСдлоТСния ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° слов Π² ячСйкС? Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ VBA, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² MS Excel. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ создадим Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: findword() ΠΈ findwordrev(). Π’ΠΎΡ‚ ΠΊΠΎΠ΄ vba для этого:

 Ѐункция FindWord (источник ΠΊΠ°ΠΊ строка, позиция ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число) ΠΊΠ°ΠΊ строка
     ΠŸΡ€ΠΈ ошибкС Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π”Π°Π»Π΅Π΅
     FindWord = Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ (WorksheetFunction.Trim (Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ), " ") (ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ - 1)
     ΠŸΡ€ΠΈ ошибкС ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 0
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция
Ѐункция FindWordRev (источник Π² Π²ΠΈΠ΄Π΅ строки, позиция Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа) Π² Π²ΠΈΠ΄Π΅ строки
     Dim Arr() ΠΊΠ°ΠΊ строка
     Arr = VBA.Split(WorksheetFunction.Trim(Source), "")
     ΠŸΡ€ΠΈ ошибкС Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π”Π°Π»Π΅Π΅
     FindWordRev = Arr(UBound(Arr) - ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ + 1)
     ΠŸΡ€ΠΈ ошибкС ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 0
Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 

ΠžΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΌΡ‹ создали Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ cstom Excel. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Excel. Ѐункция = FindWordRev(A1,1) Π±Π΅Ρ€Π΅Ρ‚ послСднСС слово ΠΈΠ· ячСйки A1. Ѐункция = FindWord (A1,3) Π±Π΅Ρ€Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ слово ΠΈΠ· ячСйки A1 ΠΈ Ρ‚. Π΄.

18. Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π΅ свою Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

Иногда ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² нашСм Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA:

 Sub ProtectSheets()
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
        Dim ws As Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
    'ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм листам
        Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² ActiveWorkbook.Worksheets
    'Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу
        ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ws.Protect: = "1234"
        Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ мс
ΠšΠΎΠ½Π΅Ρ† суб 

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ всС Π΅Ρ‰Π΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ это, Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ заинтСрСсованы Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ VBA. Как Π²Ρ‹ ΡƒΠΆΠ΅ сами ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, язык программирования VBA Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π― надСюсь, Ρ‡Ρ‚ΠΎ Π²Ρ‹ нашли эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ мастСром Π² MS Excel, VBA ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии Π² Ρ†Π΅Π»ΠΎΠΌ.

Β© 2017 Atanas Yonkov


Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°:
1.