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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«VBA для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 25

Автор Π‘Ρ‚ΠΈΠ² Каммингс

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, я использовал ΠΈΠΌΠΏΡ€ΠΎΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ чисто ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Π΄Π°Ρ‚ΡŒ опрСдСлСния этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅, Π±Π»ΠΈΠ·ΠΊΠΎΠΌ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ с Π²Π°ΠΌΠΈ классифицируСм всС элСмСнты Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° VBA, Π° Π·Π°Ρ‚Π΅ΠΌ обсудим ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, понятный ΠΈ работоспособный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… ΠΈ ΡΠΎΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΡ…, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠΌΠ΅Π½ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ восприятия, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ добавлСнию Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π΅ ΠΌΡƒΡ‡Π°Π»ΠΈΡΡŒ Π½Π°Π΄ вопросом, ΠΏΠΎΡ‡Π΅ΠΌΡƒ эта странная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° написана ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°Ρ‡Π΅).

Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° - это Π½Π΅ случайный Π½Π°Π±ΠΎΡ€ инструкций ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² модулях, Π° послСдниС, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°? Говоря Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°- это Ρ†Π΅Π»ΡŒΠ½Π°Ρ, способная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² порядкС, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ программистом.

Но ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ VBA. VBA распознаСт ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π›ΡŽΠ±Π°Ρ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ- просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ VBA ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, - Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ двумя ΠΈΠ»ΠΈ сразу ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ Π² основном Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π΄Π΅Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ использования Π² VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Π³Π»Π°Π²Π΅ 14.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ обсуТдСниС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ VBA-элСмСнтов Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ абстрактным, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ модуля. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит всС упомянутыС Π²Ρ‹ΡˆΠ΅ элСмСнты (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ содСрТатся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚). ПослС тСкста модуля ΠΈΠ΄Π΅Ρ‚ обсуТдСниС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ элСмСнтов.

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


Option Explicit

Const Maximum As Integer = 500

Const HowMany As Integer = 5

Dim ListOfNumbers() As Integer

Sub MAIN()

_ Dim ItemsInList, n, x As Integer

_ ReDim ListOfNumbers(HowMany)

_ Randomize

_ For x = 0 To HowMany

ListOfNumbers(x) = int( ( 1000 * Rnd) + 1)

_ Next x

_ n = CountBigNumbers()

_ MsgBox (There were n values greater than _

_ Maximum)

End Sub

Function CountBigNumbers()

_ Dim Counter As Integer, y As Integer

_ Counter = 0

_ For = 0 To HowMany

If ListOfNumbers(y) Maximum Then

Counter = Counter + 1

End If

_ Next Ρƒ

_ CountBigNumbers = Counter

End Function


Π’Π΅ΡΡŒ этот Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² своСй совокупности прСдставляСт собой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Он состоит ΠΈΠ· ряда ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π°. Π­Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π» объявлСний, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Option Explicit, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚ΠΈΠΏΠ° Sub, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Sub

MAIN(). ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚ΠΈΠΏΠ° Function, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Function CountBigNumbers ( ). Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² этого модуля Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² строкС, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с выраТСния MsgBox, заканчиваСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ VBA

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, послС знакомства с ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Π°ΠΌ Π»Π΅Π³Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ опрСдСлСния ΠΈ описания ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° VBA.

* ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ - это наимСньшая, способная Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° VBA-ΠΊΠΎΠ΄Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ компилятора VBA ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ дСйствиС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π£ допустимого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ сходства с Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ - ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ частСй Ρ€Π΅Ρ‡ΠΈ, ΠΈΠ½Π°Ρ‡Π΅ это Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠΎΠ±Ρ‰Π΅.

* ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° - это наимСньшая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ наимСньшая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ нСзависимо. VBA распознаСт Π΄Π²Π° Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ - Sub ΠΈ Function. Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° содСрТит ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, - объявлСниСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (End Sub ΠΈΠ»ΠΈ End Function) Π² ΠΊΠΎΠ½Ρ†Π΅.

* ΠœΠΎΠ΄ΡƒΠ»ΡŒ - это имСнованная Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, состоящая ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ объявлСний, относящихся ΠΊΠΎ всСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅. Π₯отя VBA ΠΈ допускаСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… модулях Π² соотвСтствии с выполняСмыми этими ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с Π½ΠΈΠΌΠΈ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

* Π’ VBA Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ нСпосрСдствСнно для выполнСния. Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ модуля являСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ класса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΈΡ… свойствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ класса Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Π³Π»Π°Π²Π΅ 14.

* ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ·ΠΎ всСх ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ„ΠΎΡ€ΠΌ ΠΈ связанных с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², относящихся ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, вмСстС с самим Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

ΠžΡ‚ΠΊΡƒΠ΄Π° бСрутся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΌΠ°ΠΌΠ°?

Π˜Ρ… приносит аист. Ну, Π»Π°Π΄Π½ΠΎ, это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСйствий. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ VBA-прилоТСния автоматичСски являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π΅ содСрТит Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΈ Ρ„ΠΎΡ€ΠΌ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ создадитС ΠΈΡ… Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Visual Basic ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ макрос Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. (ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 5.)

ВсС ΠΎ модулях

Π’ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ элСмСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° VBA ΠΌΠΎΠ΄ΡƒΠ»ΠΈ стоят Π½Π° ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒΠΊΡƒ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» объявлСний, состоящий ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊΠΎ всСму ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

НСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ слишком слоТна. Π˜ΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ Ρ‚Π΅ΠΌ, сколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π² Π½ΠΈΡ… Π²ΠΎΠΉΡ‚ΠΈ. Π’ΠΎΡ‚ Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, хранящиСся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… модулях.

Один ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.

ИспользованиС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΡ‚ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ программирования. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля, просто Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π² Π΅Π΅ имя. Однако, Ссли имя Ρ‚ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ· Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ модуля, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ имя содСрТащСго Π΅Π΅ модуля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π”Ρ€ΡƒΠ³ΠΎΠΉΠœΠΎΠ΄ΡƒΠ»ΡŒ.ΠΡƒΠΆΠ½Π°ΡΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. (Π― Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠœΠΎΠ΄ΡƒΠ»ΡŒ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° всСгда, Π΄Π°ΠΆΠ΅ Ссли Π½ΠΈΠΊΠ°ΠΊΠΈΡ… совпадСний ΠΈΠΌΠ΅Π½ Π½Π΅Ρ‚.)

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, слСдуСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ связанныС ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит всС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ Ρ†Π΅Π»ΠΎΠΉ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌΠΈ слоТностями с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

И всС ΠΆΠ΅, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ созданиС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ выполняСмых ΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ΠŸΡ€ΠΎΠΈΠ΅Π΄ΡƒΡ€Ρ‹ Π˜Π›Π˜ Π‘Π»ΠΎΠΊΠžΠ±Ρ€Π°Π•ΠΎΡ‚ΠΊΠΈΠ’Π΅ΠΊΡΡ‚Π°. МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‚ΠΈΠΏΠ° ΠšΠΎΠ²Ρ‹Π΅ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π‘Ρ‚Π°Ρ€Ρ‹Π΅ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ΠΠ°Π’ΡΡΠΊΠΈΠΉΠ‘Π»ΡƒΡ‡Π°ΠΉ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π’Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ дальшС Π² настоящСй Π³Π»Π°Π²Π΅.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ модуля Π² VBA-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Visual Basic, сначала ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π’ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π»ΠΈΠ±ΠΎ сам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² - Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΊΠ°ΠΊΠΎΠΉ (это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прилоТСния ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ). ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов.

* Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Insert Module (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ) (Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ рядом). Π­Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, прСдназначСнная для добавлСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Если ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° добавлСния модуля Π½Π΅ Π²ΠΈΠ΄Π½Π°, Π° вмСсто Π½Π΅Π΅ Π²ΠΈΠ΄Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° добавлСния Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΡƒΠ·ΠΊΠΎΠΉ полоскС со стрСлкой ΠΎΠΊΠΎΠ»ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ части ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈΠ· Ρ€Π°ΡΠΊΡ€Ρ‹Π²ΡˆΠ΅Π³ΠΎΡΡ мСню.

* Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²- Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ курсор находился Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, - ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Insert Module (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ) ΠΈΠ· появившСгося контСкстного мСню.