ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

ΠŸΠ ΠžΠ¦Π•Π”Π£Π Π« ΠžΠ‘Π ΠΠ‘ΠžΠ’ΠšΠ˜ ΠžΠ¨Π˜Π‘ΠžΠš И ΠžΠ’Π›ΠΠ”ΠšΠ ΠŸΠ ΠžΠ“Π ΠΠœΠœ VBA

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ… появлСниС ошибок

ΠŸΡ€ΠΈ составлСнии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎ Π²ΠΈΠ½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»Π° Π΅Π³ΠΎ ΠΎΠ± этом, подсказывая, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΎΠ½ сдСлал Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΈ этом Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числитСля Π½Π° Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘Ρ‡Π΅Ρ‚ Π±Π΅Π· контроля появлСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок:

Private Sub CommandButtonl_Click()

Dim Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ, Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ, Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ As Double

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ / Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.1. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π”Π΅Π»Π΅Π½ΠΈΠ΅

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ рассматриваСмая ситуация ΠΎΡ‡Π΅Π½ΡŒ простая, ΠΎΠ½Π° ΡƒΠΆΠ΅ Ρ‚Π°ΠΈΡ‚ Π² сСбС мноТСство ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎ Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚ ввСсти Π² ΠΏΠΎΠ»Π΅ Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π² ΠΏΠΎΠ»Π΅ Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ число ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ счСт происходит Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с малопонятным сообщСниСм ΠΎ нСсоотвСтствии Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Visual Basic (рис. 12.2)

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.2. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Microsoft Visual Basic с сообщСниСм ΠΎΠ± ошибкС

Π”Π°Π½Π½ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС связано с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… инструкций Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

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

Π’Π°ΠΊΠΈΠ΅ ошибки Π²Π²ΠΎΠ΄Π° Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π»ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² числа? Π­Ρ‚Ρƒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдусмотрСны:

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сообщСния ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ число с дСсятичной запятой, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ установки систСмы ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²Ρ‹Π·Π²Π°Π»Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с сообщСниСм ΠΎΠ± ошибкС Π² Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»Π΅ ΠΈ установила фокус Π½Π° ΠΏΠΎΠ»Π΅ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ.

Private Sub CoramandButtonl_Click()

Dim Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ, Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ, Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ As Single

If IsNumeric(TextBoxl.Text) = False Then MsgBox «ΠžΡˆΠΈΠ±ΠΊΠ° Π² числитСлС»,

vblnformation, «Π”Π΅Π»Π΅Π½ΠΈΠ΅» TextBoxl.SetFocus

If IsNumeric(TextBox2.Text) = False Then

MsgBox «ΠžΡˆΠΈΠ±ΠΊΠ° Π² Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»Π΅»,

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ / Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ

Но это Π΅Ρ‰Π΅ Π½Π΅ всС ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΡΡ‚Π΅Ρ€Π΅Π³Π°ΡŽΡ‚ нСостороТного ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°ΠΆΠ΅ Π² этом простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² ΠΏΠΎΠ»Π΅ Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π΄Π΅Ρ‚ 0, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ аварийная остановка выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Visual Basic сообщСния: Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0. Для избСТания ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ошибки Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΠ»Π΅ Π΄Π°Π½Π½Ρ‹Π΅ числом, Π½ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ это Π½Π΅ ноль. НапримСр, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π΄ расчСтным Π±Π»ΠΎΠΊΠΎΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

If CDbl(TextBox2.Text) = 0 Then

MsgBox «Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΡƒΠ»Π΅ΠΌ», vblnformation, «Π”Π΅Π»Π΅Π½ΠΈΠ΅»

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

Из Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Microsoft Visual Basic Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ каТдая ошибка ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΊΠΎΠ΄. Π’ Ρ‚Π°Π±Π». 12.1 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠΎΠ΄Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто встрСчаСмых ошибок.

Π’Π°Π±Π»ΠΈΡ†Π° 12.1. ΠšΠΎΠ΄Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто встрСчаСмых ошибок

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ

ИндСкс Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ допустимого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

НСвСрный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠΌ

ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ диска

НСвозмоТСн доступ ΠΊ систСмным рСсурсам

Π˜ΡΡ‚Π΅ΠΊ срок дСйствия Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ трСбуСтся Ρ„Π°ΠΉΠ» Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ срСдства ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° любой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ошибки, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Π΅, Π²Ρ‹Π΄Π°Ρ‚ΡŒ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±Π΅Π·Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ конструкция ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ошибок ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ошибки. УстанавливаСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎ Π³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ Π² случаС появлСния ошибки.

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки

Π’ этой ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ опрСдСляСтся Ρ‚ΠΈΠΏ возникшСй ошибки ΠΈ устанавливаСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅-Π»Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ошибки. Допустимы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ синтаксисы.

On Error GoTo строка

АктивизируСт ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок, Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ опрСдСляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ строка, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΊΠ° строки, Π»ΠΈΠ±ΠΎ Π½ΠΎΠΌΠ΅Ρ€ строки.

On Error Resume Next

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки происходит ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° управлСния Π½Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, нСпосрСдствСнно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π·Π° инструкциСй, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ любой Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅.

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки. Допустимы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ синтаксисы.

ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся Ρ‚ΠΎΠΉ инструкции, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.

ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся инструкции, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ строка. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ этого Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любая ΠΌΠ΅Ρ‚ΠΊΠ° строки ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ строки.

ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся инструкции, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° инструкциСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.

ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Err, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… выполнСния. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Err.

Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Err

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ошибки

Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VBA

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, содСрТащСС тСкст сообщСния ΠΎΠ± ошибкС

ПолноС имя (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ диск ΠΈ ΠΏΡƒΡ‚ΡŒ) Ρ„Π°ΠΉΠ»Π° справки VBA

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„Π°ΠΉΠ»Π° справки VBA, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ошибкС с ΠΊΠΎΠ΄ΠΎΠΌ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² свойствС

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ систСмный ΠΊΠΎΠ΄ ошибки для послСднСго Π²Ρ‹Π·ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (DLL)

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Err

ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ всС значСния свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Err. ΠœΠ΅Ρ‚ΠΎΠ΄ clear ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для явной очистки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Err послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ошибки, которая задаСтся инструкциСй on

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ситуаций ошибки.

Raise number, source, description, helpfile, helpcontext

На ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ примСняСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Err ΠΏΡ€ΠΈ создании ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ошибок. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π² процСссС создания Π΄ΠΈΠ° Π»ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ связанной с Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд Π±Ρ‹Π»ΠΈ прСдусмотрСны всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки. Но это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд. Π’Π²Π΅Π΄Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠΎΠ»Π΅ Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1Π΅-40. Π­Ρ‚ΠΎ число Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ»ΠΈ Π½Π΅ Ρ…ΡƒΠΆΠ΅ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ числа Ρ‚ΠΈΠΏΠ° single. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, вмСсто Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ сообщСния ΠΎΠ± ошибкС пСрСполнСния. Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ возмоТности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ошибки. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ошибок прСдусмотрим Π΄Π²Π° ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°:

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.4. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° ошибки

Private Sub CommandButtonl_Click()

Dim Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ, Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ, Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ As Single

‘ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° управлСния Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок,

‘ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

On Error GoTo ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ числом

If IsNumeric(TextBoxl.Text) = False Then MsgBox «ΠžΡˆΠΈΠ±ΠΊΠ° Π² числитСлС»,

vblnformation, «Π”Π΅Π»Π΅Π½ΠΈΠ΅» TextBoxl.SetFocus

‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, являСтся Π»ΠΈ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ числом

If IsNumeric(TextBox2.Text) = False Then

MsgBox «ΠžΡˆΠΈΠ±ΠΊΠ° Π² Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»Π΅»,

‘ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π½Π΅ являСтся Π»ΠΈ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π½ΡƒΠ»Π΅ΠΌ

If CDbl(TextBox2.Text) = 0 Then

MsgBox «Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΡƒΠ»Π΅ΠΌ», vblnformation, «Π”Π΅Π»Π΅Π½ΠΈΠ΅»

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ / Π—Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŒ

‘ Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ нахоТдСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Select Case Err.Number

‘ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибки пСрСполнСния

MsgBox » ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка пСрСполнСния»,

Π§ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ = 1 Resume

‘ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ошибки

MsgBox «ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка: » & Err.Description &

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² случаС, Ссли Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ошибок, Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для сокращСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ для большСй ясности структуры ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ всСх ошибок.

ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ нСзависимо ΠΎΡ‚ Π΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° допускаСт Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ошибки. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΠΌΡƒΠ΄Ρ€Ρ‹Ρ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π²Π΅Ρ€Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π½Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ошибок. ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΆΠΈΠ·Π½Π΅Π½Π½ΡƒΡŽ ΠΌΡƒΠ΄Ρ€ΠΎΡΡ‚ΡŒ для ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π΅ Π΄Π΅Π»Π°Π» ошибок Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ писал ΠΈΡ…. Π˜Ρ‚Π°ΠΊ, ошибки β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Π°Ρ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΠ΅ этой нСизбСТности. КакиС ΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ ошибки ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌΠΈ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ? Условно ошибки ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ°: ошибки компиляции, выполнСния ΠΈ логичСскиС ошибки.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.5. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС компиляции, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ инструкции

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.6. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС компиляции Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Visual Basic

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ошибки компиляции ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ VBA ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· автоматичСски ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΈ Π΅Π΅ запускС Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ VBA прСдусмотрСна Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±Π΅Π· запуска Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ посрСдством ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠžΡ‚Π»Π°Π΄ΠΊΠ°, ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Debug, Compile). Π’ этом случаС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ мСстополоТСниС ошибки выдСляСтся синим Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ Π½Π° экранС отобраТаСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Microsoft Visual Basic с сообщСниСм ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ ΠΎΡˆΠΈΠ±ΠΊΡƒ (рис. 12.6).

Ошибки выполнСния Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΡ… ошибок ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ этих ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… случаях Π½Π° экранС отобраТаСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Microsoft Visual Basic с сообщСниСм ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π΅ ошибки ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Π΅Π΅ Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ (рис. 12.7).

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.7. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС выполнСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Visual Basic

Если Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Microsoft Visual Basic Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug), Ρ‚ΠΎ Π² строкС модуля ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° строка, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ°Ρ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Ρ€Π²Π°Π½ΠΎ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, эта строка Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° стрСлочкой. ΠŸΡ€ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ VBA ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ прСрывания. Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… возмоТностСй Ρ€Π΅ΠΆΠΈΠΌΠ° прСрывания ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ свойств. Для этого достаточно Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ свойства ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ появлСниС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ свойства. Из тСкста ΠΊΠΎΠ΄Π°, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° рисункС, Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρƒ Ρ€Π°Π²Π½ΠΎ 0, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π·Π²Π°Π»ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ прСрывания. Для задания Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ значСниями Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Ρ„Π»Π°ΠΆΠΎΠΊ Подсказки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Auto Data Tips) Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Options), Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ БСрвис, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Tools, Options).

ЛогичСскиС ошибки Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ всСго ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΈ ошибки Π½Π΅ приводят ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚. Π΅. Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ всС ΠΈΠ΄Π΅Ρ‚ Π³Π»Π°Π΄ΠΊΠΎ ΠΈ выглядит Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΠΎ. Но это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ каТущаяся идиллия, Ρ‚. ΠΊ. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Локализация логичСских ошибок связана с Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ VBA (рис. 12.8).

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.8. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСрывания

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Option Explicit

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ срСдством прСдотвращСния случайных ошибок являСтся использованиС инструкции Option Explicit. Π­Ρ‚Π° инструкция прСдписываСт явно ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ИспользованиС инструкции option Explicit позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ отслСТиваСмой ошибки. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ ссуда, Π° ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΈΠΌΠ΅Π½ΠΈ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π³Π΄Π΅-Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ вмСсто русской Π±ΡƒΠΊΠ²Ρ‹ с ΠΏΠΎ ошибкС Π½Π°Π±Ρ€Π°Π½Π° латинская Π±ΡƒΠΊΠ²Π° с. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, эти ΠΈΠΌΠ΅Π½Π° Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Π½ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Если Π±Ρ‹ использовалась инструкция option Explicit, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈΠΌΠ΅Π»ΠΎ мСсто явноС описаниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Бсуда, Ρ‚ΠΎ компилятор ΡƒΠΊΠ°Π·Π°Π» Π±Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ссуда с латинской Π±ΡƒΠΊΠ²ΠΎΠΉ с, ΠΊΠ°ΠΊ Π½Π° Π½Π΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ, ΠΈ эта, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ отслСТиваСмая ошибка, Π±Ρ‹Π»Π° Π±Ρ‹ быстро Π½Π°ΠΉΠ΄Π΅Π½Π°.

ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug), Π»ΠΈΠ±ΠΎ мСню ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш (рис. 12.9). Если панСль инструмСнтов ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug) Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° экранС, Ρ‚ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π’ΠΈΠ΄, ПанСли инструмСнтов, ΠžΡ‚Π»Π°Π΄ΠΊΠ° (View, Toolbars, Debug).

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.9. ПанСль инструмСнтов ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ΡΡ мСню ΠžΡ‚Π»Π°Π΄ΠΊΠ°

Для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’ΠΎΡ‡ΠΊΠ° останова устанавливаСтся ΠΈΠ»ΠΈ снимаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠžΡ‚Π»Π°Π΄ΠΊΠ°, Π’ΠΎΡ‡ΠΊΠ° останова (Debug, Toggle Breakpoint), Π»ΠΈΠ±ΠΎ посрСдством ΠΊΠ½ΠΎΠΏΠΊΠΈ Π’ΠΎΡ‡ΠΊΠ° останова (Toggle Breakpoint) ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug). На листС модуля Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ полосой ΠΊΠΈΡ€ΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΊΡ€ΡƒΠ³ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ†Π²Π΅Ρ‚Π° (рис. 12.10).

Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько Ρ‚ΠΎΡ‡Π΅ΠΊ останова. Π’ΠΎΡ‡ΠΊΠΈ останова ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для приостановки выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВсС инструкции, располоТСнныС Π²Ρ‹ΡˆΠ΅, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈ Π½ΠΈΠΆΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ останова, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ½ΡΡ‚ΡŒ всС Ρ‚ΠΎΡ‡ΠΊΠΈ останова ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠžΡ‚Π»Π°Π΄ΠΊΠ°, Π‘Π½ΡΡ‚ΡŒ всС Ρ‚ΠΎΡ‡ΠΊΠΈ останова (Debug, Clear All Breakpoint).

Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… срСдств Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ свойств. Для этого достаточно Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ свойства ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ появлСниС Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ свойства. Для установки Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ значСниями Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Ρ„Π»Π°ΠΆΠΎΠΊ Подсказки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (Auto Data Tips) Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Options), Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ БСрвис, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Tools, Options).

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.10. Π’ΠΎΡ‡ΠΊΠΈ останова

Π”Ρ€ΡƒΠ³ΠΈΠΌ способом отслСТивания Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… являСтся использованиС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch), ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° экранС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π’ΠΈΠ΄, Окно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ значСния (View, Quick Watch), Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠžΡ‚Π»Π°Π΄ΠΊΠ°, ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Debug, Quick Watch) (рис. 12.11). Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch) примСняСтся для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ отобраТСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Команда ΠžΡ‚Π»Π°Π΄ΠΊΠ°, Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Debug, Add Watch) позволяСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch).

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ способ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Print ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Debug. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ способа Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΠ°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ = «Π’Ρ‹Π²ΠΎΠ΄ тСкста Π² ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.» Debug.Print ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΠ°ΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ

Окно Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (Locals Window), ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° экранС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π’ΠΈΠ΄, Окно Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (View, Locals Window), Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ значСния всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ это происходит Π² ΠΎΠΊΠ½Π΅ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch).

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ ΠΆΠ΅ Π²ΠΈΠ΄ ΠΈ структура ΠΎΠ±ΠΎΠΈΡ… ΠΎΠΊΠΎΠ½, Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (Locals Window) ΠΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния (Quick Watch), ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Рис. 12.11. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ значСния

Окно ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° (Immediate Window), ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° экранС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π’ΠΈΠ΄, Окно ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (View, Immediate Window), прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ:

s=0: For i=1 to 5: s=s+i^2: Next i: MsgBox s

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΈΠΏΡ‹ ошибок Π² VBA

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ макросов Excel ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² VBA дСлят Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Ρ‚ΠΈΠΏΠΎΠ² ошибок VBA ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Ошибки компиляции

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ VBA рассматриваСт ошибки компиляции ΠΊΠ°ΠΊ нСдопустимыС ΠΈ выдСляСт ΠΈΡ… Π² ΠΊΠΎΠ΄Π΅ Π΅Ρ‰Ρ‘ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Π»ΠΎ Π΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π΄ΠΎ запуска макроса.

Если ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π° синтаксичСская ошибка, Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA сигнализируСт ΠΎΠ± этом Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ: Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΊΠ½Π° с сообщСниСм, Π»ΠΈΠ±ΠΎ выдСляя ΠΎΡˆΠΈΠ±ΠΊΡƒ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Π² зависимости ΠΎΡ‚ статуса Ρ€Π΅ΠΆΠΈΠΌΠ° Auto Syntax Check.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Auto Syntax Check ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΏΡ€ΠΈ появлСнии Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Visual Basic Π²ΠΎ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ синтаксичСской ошибки, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС. Если ΠΆΠ΅ этот Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎ синтаксичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, просто выдСляя ΠΈΡ… красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ. ΠžΠΏΡ†ΠΈΡŽ Auto Syntax Check ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² мСню Tools > Options Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Visual Basic.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ошибка компиляции ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ компиляции ΠΊΠΎΠ΄Π°, нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ макрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции нСслоТно ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ компилятор VBA Π΄Π°Ρ‘Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅ ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ошибки.

НапримСр, сообщСниС Β«Compile error: Variable not definedΒ» ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° VBA Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Π½Π΅ Π±Ρ‹Π»Π° объявлСна для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области (такая ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Option Explicit).

Ошибки выполнСния

Ошибки выполнСния Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² процСссС выполнСния ΠΊΠΎΠ΄Π° ΠΈ приводят ΠΊ остановкС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ошибок VBA, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ слоТно ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сообщаСтся информация ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅ ошибки ΠΈ мСсто Π² ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° остановка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΉ ошибки ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ сообщСниС Β«Run-time error ’11’: Division by zeroΒ«.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Π’ зависимости ΠΎΡ‚ структуры ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VBA, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС Π½ΠΈΠΆΠ΅). Π’ этом случаС ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Debug (Π² ΠΎΠΊΠ½Π΅ сообщСния ΠΎ нСобходимости ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ) Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠΌ строка ΠΊΠΎΠ΄Π°, которая стала ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ошибки VBA.

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС ΠΈ видя Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ строку ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки Π±ΡƒΠ΄Π΅Ρ‚ совсСм Π½Π΅ слоТно.

Π’ случаС Ссли ΠΊΠΎΠ΄ слоТнСС, Ρ‡Π΅ΠΌ Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ возникновСния ошибки VBA, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA для этого достаточно навСсти ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π½Π° имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ отслСТивания Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π² мСню Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° View > Locals Window).

ΠšΠΎΠ΄Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ошибок выполнСния Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° сайтС Microsoft Support (Π½Π° английском). НаиболСС часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ошибки VBA пСрСчислСны Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

5НСдопустимый Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Invalid procedure call)
7НСдостаточно памяти (Out of memory)
9ИндСкс внС заданного диапазона (Subscript out of range)

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту массива Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли объявлСн массив с индСксами ΠΎΡ‚ 1 Π΄ΠΎ 10, Π° ΠΌΡ‹ пытаСмся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту этого ΠΆΠ΅ массива с индСксом 11.

11Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль (Division by zero)
13НСсоотвСтствиС Ρ‚ΠΈΠΏΠ° (Type mismatch)

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, объявлСна пСрСмСнная i Ρ‚ΠΈΠΏΠ° Integer, ΠΈ происходит ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ строкового Ρ‚ΠΈΠΏΠ°.

53Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ (File not found)

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ».

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ошибок выполнСния

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

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ ошибками, VBA прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ On Error ΠΈ Resume. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ ошибки ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ макроса Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΊΠΎΠ΄Π° VBA, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибки. ПослС выполнСния ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки, Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° с Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка, ΠΈΠ»ΠΈ макрос ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ остановлСн ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π”Π°Π»Π΅Π΅ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π’ этом ΠΊΠΎΠ΄Π΅ производится ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Excel с ΠΈΠΌΠ΅Π½Π΅ΠΌ Data. Если Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сдСлаСт это ΠΈ Π½Π°ΠΆΠΌΡ‘Ρ‚ ОК, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° продолТится, ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» повторится. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ вмСсто ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Sub ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Π²Π°Π½ΠΎ Π² этом мСстС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Exit Sub.

ЛогичСскиС ошибки

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

НапримСр, ΠΏΡ€ΠΈ создании макроса Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ случайно Π±Ρ‹Π»ΠΈ просуммированы Π½Π΅ Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, Π½ΠΎ макрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

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

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚Π»ΠΎΠ² ошибок ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° VBA

ΠžΡ‡Π΅Π½ΡŒ часто Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² VBA ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ошибками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния. Если Π½Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС – Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ слоТно Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ быстро, Π° Ρ‚ΠΎ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΎΠ»Π΅Π΅ «ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ…» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Новички Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π°ΡƒΠ³Π°Π΄, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ‹Π΅ ошибки, Π° это Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ затрудняСт поиск ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ошибки, Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСвозмоТности ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²ΠΎΠΎΠ±Ρ‰Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π΅ΡˆΠΈΠ» ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ошибки.
Π§Ρ‚ΠΎΠ±Ρ‹ описанноС Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ сразу ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΊΠΎΠ΄Π° (35,5 KiB, 2 537 скачиваний)

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно:

Помимо этого Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄Π°ΠΌΠΈ ошибок VBA ΠΈ ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
Допустим, имССтся простая Ρ‚Π°Π±Π»ΠΈΡ†Π°
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
И ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Ρ†Π΅Π½Ρƒ (столбСц Π¦Π΅Π½Π°) Π½Π° количСство (столбСц ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ ΡˆΡ‚), ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ вывСсти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ сумму Π² ячСйку Π’17 :

Option Explicit Sub PrimitiveCode() Dim lr As Long, dblSumm As Double, dblIncr As Double ‘Ρ†ΠΈΠΊΠ» ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎ послСднСй For lr = 1 To 14 ‘ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π¦Π΅Π½Ρ‹ Π½Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ (C*E) dblIncr = Cells(l, 3).Value * Cells(lr, 5).Value ‘ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ суммы dblSumm = dblSumm + dblIncr Next ‘Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ячСйку B17 Cells(17, 2).Value = dblSumm End Sub

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ появлСния ошибки
Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ программист VBA сразу ΠΏΠΎΠΉΠΌΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ – Π½Π΅ выполнится ΠΈ ΠΎΠ΄Π½Π° строка. Π‘Ρ€Π°Π·Ρƒ появится ошибка:
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°

Ошибка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ пСрСмСнная, которая Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π±Ρ‹Π»Π° объявлСна.
Π‘Π°ΠΌΠ° пСрСмСнная, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ VBA считаСт Π½Π΅ объявлСнной Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π°:
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этой ошибкС ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅: Variable not defined ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Option Explicit ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ?
Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ l Π½Π΅Ρ‚ срСди ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…(Dim l As) ΠΈ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° ΠΈ Ρ‚Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ lr, Π° Π½Π΅ l. Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Sub PrimitiveCode() Dim lr As Long, dblSumm As Double, dblIncr As Double ‘Ρ†ΠΈΠΊΠ» ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎ послСднСй For lr = 1 To 14 ‘ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π¦Π΅Π½Ρ‹ Π½Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ (C*E) dblIncr = Cells(lr, 3).Value * Cells(lr, 5).Value ‘ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ суммы dblSumm = dblSumm + dblIncr Next ‘Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ячСйку B17 Cells(17, 2).Value = dblSumm End Sub

Π‘ Π²ΠΈΠ΄Ρƒ ΠΊΠΎΠ΄ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ ошибок Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½. Однако, Ссли Π΅Π³ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ – Π½Π° этот Ρ€Π°Π· ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…(Type Mismatch):
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ появлСния Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Debug, Π° Π½Π΅ End (Ссли Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Ρ‚ΠΈΠΏ ошибки ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ – ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Help, тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° английском). VBA подсвСтит ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ строку, вычислСния ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
Π’Π΅ΠΏΠ΅Ρ€ΡŒ самый Π²Π°ΠΆΠ½Ρ‹ΠΉ этап – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки. Π‘ Π²ΠΈΠ΄Ρƒ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ – ΠΎΠ΄Π½Π° ячСйка пСрСмноТаСтся Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π‘Π΅Π· ΠΎΠΏΡ‹Ρ‚Π° слоТно сходу ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ошибка Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…ΠΎΡ‚ΡŒ VBA прямо ΠΎΠ± этом Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚(Type Mismatch – Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ «ΠΠ΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²»). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ самоС Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Π² этом случаС – это ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΠΉ строки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка. Π’ случаС с ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ:

Окна Locals и Watches
Π’Π°ΠΊ ΠΆΠ΅ для отслСТивания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Locals ΠΈ ΠΎΠΊΠ½ΠΎ Watches.
Окно Locals
Окно Locals ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, задСйствованныС Π² выполняСмой Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅:
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
Как Π²ΠΈΠ΄Π½ΠΎ Π² этом ΠΎΠΊΠ½Π΅ отобраТаСтся имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΅Ρ‘ Ρ‚ΠΈΠΏ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ВсС Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π² этом ΠΎΠΊΠ½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ модуля. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Public ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Ρ‚Π°ΠΌ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΅Ρ‘ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ?

Окно Watches
Окно Watches прСдставляСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ – Π² это ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ просто «ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ» Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Π² этом ΠΎΠΊΠ½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΅Ρ‘ Ρ‚ΠΈΠΏΠ΅ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ:
ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°
Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ Π² это ΠΎΠΊΠ½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅:

If lr = 10 Then ‘ΠΊΠΎΠ΄ End if

Пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ПослС знакомства с ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с пошаговой ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ°?
Π­Ρ‚ΠΎ просмотр этапов выполнСния ΠΊΠΎΠ΄Π° строка Π·Π° строкой.

Для Ρ‡Π΅Π³ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ?

Как Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ? ВсС просто: устанавливаСтС курсор Π² любом мСстС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8 (Π»ΠΈΠ±ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² мСню DegubStep Into). Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши F8 ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² Ρ‚ΠΎΠΉ очСрСдности, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ располоТСны Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅. Если Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – ΠΊΠΎΠ΄ пошагово Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈ Π΅Ρ‘ ΠΈ Π·Π°Ρ‚Π΅ΠΌ вСрнСтся Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ.
Π’Π°ΠΊ ΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ привСсти Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Ρƒ сочСтаний клавиш, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ пошаговой ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом (Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ это ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ дСлаСтся клавишСй F5 ΠΈΠ»ΠΈ с ΠΏΠ°Π½Π΅Π»ΠΈ: RunRun Sub/UserForm). Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ останова ΠΎΠ½ остановится ΠΈ строка Π±ΡƒΠ΄Π΅Ρ‚ подсвСчСна ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅(наТимая F8), Π»ΠΈΠ±ΠΎ(ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² значСния Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΡΡ‚ΡŒ F5 ΠΈ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ автоматичСски, ΠΏΠΎΠΊΠ° Π½Π΅ выполнится ΠΈΠ»ΠΈ Π½Π΅ достигнСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ останова. Π‘Π°ΠΌΠΈΡ… ΠΆΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ останова ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ располоТСны ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² любой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ послС закрытия Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ΄ΠΎΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Ошибок Π½Π΅Ρ‚, Π½ΠΎ ΠΊΠΎΠ΄ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ выполняСтся
Π•Ρ‰Π΅ Ρ…ΠΎΡ‡Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ошибки ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ всСгда, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ. Π‘Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ выполняСтся Π±Π΅Π· ошибок, Π½ΠΎ ΠΎΠ΄Π½Π°ΠΊΠΎ Π»ΠΈΠ±ΠΎ выполняСтся Π½Π΅ Ρ‚Π°ΠΊ, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π΄Π²Π΅:

ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ошибок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vba автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ кодаОшибки VBA с описаниСм (152,0 KiB, 4 939 скачиваний)

Π£Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π°? ПодСлись ссылкой с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *