ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Π‘Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel

Π’ Excel 5 Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ макроязыка Visual Basic for Applications (VBA). КаТдая копия Excel, начиная с 1993 Π³ΠΎΠ΄Π°, содСрТит копию языка VBA, Π² явном Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листах. VBA позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² Excel, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΈ Π±Π΅Π·ΡƒΠΊΠΎΡ€ΠΈΠ·Π½Π΅Π½Π½ΠΎ.

Если Π²Π°ΠΌ доводилось ΠΏΡ€Π΅ΠΆΠ΄Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ часто ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² случаС примСнСния ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… срСдств Excel ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ нСсколько часов, Π° Ρ‚ΠΎ ΠΈ Π΄Π½Π΅ΠΉ. НС стоит ΠΏΡƒΠ³Π°Ρ‚ΡŒΡΡ слоТностСй VBA, это Π½ΠΈΡ‡ΡƒΡ‚ΡŒ Π½Π΅ слоТнСС Ρ‡Π΅ΠΌ эмулятор psp. Π’ 90% случаСв ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ гСнСрируСтся благодаря Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ записи макросов, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС эффСктивныС VBA-прилоТСния ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Ρ€Π°Π·Π΄Π΅Π»Π° «ИспользованиС VBA для создания сводных Ρ‚Π°Π±Π»ΠΈΡ†Β» Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Π½Π΅Π»Π΅Π³ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ настоящСго VBA-программиста.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ VBA Π² Excel 2010 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π¦Π΅Π½Ρ‚Ρ€ управлСния Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ (Trust Center). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

5. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π»Π΅Π½Ρ‚Ρ‹ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Нам понадобится Π³Ρ€ΡƒΠΏΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Код (Code), Π² состав ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ входят ΠΊΠ½ΠΎΠΏΠΊΠΈ Visual Basic Editor, ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ (Macros), Π—Π°ΠΏΠΈΡΡŒ макроса (Macro Recorder) ΠΈ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ макросов (Macro Security) (рис. 12.1).

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Рис. 12.1. Доступ ΠΊ инструмСнтам VBA рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ

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

Как Π² Excel 2010 ΠΈΠ»ΠΈ 2013 Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ VBA – руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π­Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ пошаговоС руководство ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ рассказываСт ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ VBA (Visual Basic for Applications) Π² ΠΊΠ½ΠΈΠ³Ρƒ Excel, ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ вставлСнный макрос для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π° этом листС.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΡƒΡ€Ρƒ Microsoft Office. Они ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ всСх тонкостСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π½Π΅ смогут ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос, ΠΊΠ°ΠΊ отличаСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния макроса VBA Π² Excel 2010 ΠΈ 2013. МногиС просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Excel, ΠΊΠ°ΠΊ инструмСнт для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° листС Excel ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠœΡ‹ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ³ΡƒΠ³Π»ΠΈΠ»ΠΈ ΠΈ нашли макрос VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ. Однако, нашС Π·Π½Π°Π½ΠΈΠ΅ VBA оставляСт ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ. Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ пошаговая инструкция, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

ВставляСм ΠΊΠΎΠ΄ VBA Π² ΠΊΠ½ΠΈΠ³Ρƒ Excel

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VBA макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удаляСт пСрСносы строк ΠΈΠ· ячССк Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа Excel.

Π’ самом Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠ΄Π° Π’Π°ΡˆΠ΅Π³ΠΎ макроса VBA Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ строки:

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Если Ρ‚Π°ΠΊΠΈΡ… строк Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² свой макрос, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» быстрСС (см. рисунок Π²Ρ‹ΡˆΠ΅):

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ЗапускаСм макрос VBA Π² Excel

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ макрос, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Alt+F8. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠœΠ°ΠΊΡ€ΠΎΡ (Macro). Π’ спискС Имя макроса (Macro name) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ макрос ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Run).

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

Автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Ρ‹ Π² Microsoft Excel ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ VBA

Π’ этом постС я расскаТу, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ VBA ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Microsoft Excel 2007/2010 (для Π±ΠΎΠ»Π΅Π΅ старых вСрсий измСняСтся лишь интСрфСйс β€” ΠΊΠΎΠ΄, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅) для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ€ΡƒΡ‚ΠΈΠ½Ρ‹.

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

VBA (Visual Basic for Applications) β€” это упрощСнная вСрсия Visual Basic, встроСнная Π² мноТСство ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ Microsoft Office. Она позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прямо Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π’Π°ΠΌ Π½Π΅ трСбуСтся ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ IDE β€” всё, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Excel.

Π•Ρ‰Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Visual Studio Tools for Office ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ макросы Π½Π° C# ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Бпасибо, FireStorm.

Π‘Ρ€Π°Π·Ρƒ скаТу β€” ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках (C++/Delphi/PHP) Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ трСбуСтся научится Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ офиса β€” Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ получится. А интСрфСйсы Microsoft Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· COM. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ поняли вСсь уТас, Π²ΠΎΡ‚ Hello World с использованиСм COM.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΡƒΠ²Ρ‹, Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚ΡŒ Visual Basic.

Π§ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ постановка Π·Π°Π΄Π°Ρ‡ΠΈ

Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Excel.

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Ribbon панСль Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ». Π’ Π½Π΅ΠΉ находятся ΠΊΠ½ΠΎΠΏΠΊΠΈ, тСкстовыС поля ΠΈ ΠΏΡ€. элСмСнты для конструирования Ρ„ΠΎΡ€ΠΌ.

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСлькак Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ VBA. НСдавно ΠΌΠ½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ красиво ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ прайс-лист, Π²Ρ‹Π³Π»ΡΠ΄Π΅Π²ΡˆΠΈΠΉ, ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π˜Π΄Ρ‘ΠΌ Π² Π³ΡƒΠ³Π», Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌ «прайс-лист» ΠΈ ΠΊΠ°Ρ‡Π°Π΅ΠΌ любой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ (Π½Π΅ сочтитС Π·Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ, поТалуйста):

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Π’ΠΎ Π΅ΡΡ‚ΡŒ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ (Π² нашСм случаС это Π±ΡƒΠ΄ΡƒΡ‚ Π’ΠΈΠΏ ΠΈ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ β€” Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ мною Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, отсортируйтС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ стояли подряд (сначала ΠΏΠΎ Π’ΠΈΠΏΡƒ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ).

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

РазумССтся, Ссли ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ прайс Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€. Однако ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ научится ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π²ΠΏΠΎΠ»Π½Π΅ подходящая, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ?

Кодим

Для Π½Π°Ρ‡Π°Π»Π° трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Кнопки находятся Π² ΠΏΠ°Π½Π΅Π»ΠΈ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΒ». Π’Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ„ΠΎΡ€ΠΌΡ‹ «Кнопка». НаТали, поставили Π½Π° любоС мСсто Π² листС. Π”Π°Π»Π΅Π΅, Ссли Π½Π΅ появилось ΠΎΠΊΠ½ΠΎ назначСния макроса, Π½Π°Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Β«ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ макрос». Назовём Π΅Π³ΠΎ FormatPrice. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ макроса Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ β€” ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ создастся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, Π° Π½Π΅ Π² пространствС ΠΈΠΌΠ΅Π½ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ этому случаС Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ нСдоступно быстроС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ листу. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ «Новый».

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСлькак Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

И Π²ΠΎΡ‚ ΠΌΡ‹ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ VB. Π’Π°ΠΊΠΆΠ΅ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· контСкстного мСню ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст»/Β«View codeΒ».

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСлькак Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΎΠΊΠ½ΠΎ с Π·Π°Π³Π»ΡƒΡˆΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

НапишСм Hello World:

Sub FormatPrice()
MsgBox «Hello World!»
End Sub

И запустим Π»ΠΈΠ±ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ (ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сняв с Π½Π΅Ρ‘ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅), Π»ΠΈΠ±ΠΎ клавишСй F5 прямо ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

Π’ΡƒΡ‚, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, слСдуСт ΠΎΡ‚Π²Π»Π΅Ρ‡ΡŒΡΡ Π½Π° нСбольшой Π»ΠΈΠΊΠ±Π΅Π· ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ синтаксиса VB. ΠšΡ‚ΠΎ Π΅Π³ΠΎ Π·Π½Π°Π΅Ρ‚ β€” ΠΌΠΎΠΆΠ΅Ρ‚ смСло ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот Ρ€Π°Π·Π΄Π΅Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Visual Basic ΠΎΡ‚ Pascal/C/Java Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π΅ ;, Π° пСрСносом строки ΠΈΠ»ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (:), Ссли ΠΎΡ‡Π΅Π½ΡŒ хочСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½Ρƒ строку. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ основныС ΠΏΡ€Π°Π²ΠΈΠ»Π° синтаксиса, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ абстрактный ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ синтаксиса

Dim res As sTRING ‘ РСгистр Π² VB Π½Π΅ Π²Π°ΠΆΠ΅Π½. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Вас ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚
Dim i As Integer
‘ Π¦ΠΈΠΊΠ» всСгда состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк
For i = 1 To 10
res = res + CStr(i) ‘ ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π² String
If i = 5 Then Exit For
Next i

Dim x As Double
x = Val( «1.234» ) ‘ ΠŸΠ°Ρ€ΡΠΈΠ½Π³ чисСл
x = x + 10
MsgBox x

On Error GoTo Err ‘ ΠŸΡ€ΠΈ ошибкС ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ΅ Err
x = 5 / 0
MsgBox «OK!»
GoTo ne

ne:
On Error GoTo 0 ‘ ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок

‘ Π¦ΠΈΠΊΠ»Ρ‹ Π±Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
Do While True
Exit Do

Loop ‘While True
Do ‘Until False
Exit Do
Loop Until False
‘ А Π²ΠΎΡ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, скобки Π½ΡƒΠΆΠ½Ρ‹.
‘ Val Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Integer
Select Case LengthSqr(Len( «abc» ), Val( «4» ))
Case 24
MsgBox «0»
Case 25
MsgBox «1»
Case 26
MsgBox «2»
End Select

Π“Ρ€Π°Π±Π»ΠΈ-1. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· IDE (Π² английском Excel) Ссь тСкст конвСртируСтся Π² 1252 Latin-1. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ русскиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” Π½Π°Π΄ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ крокозябры ΠΊΠ°ΠΊ Latin-1, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² 1251.

Π“Ρ€Π°Π±Π»ΠΈ-2. Π’.ΠΊ. VB позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, я всСгда Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠ΄Π° (ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ) ΡΡ‚Π°Π²Π»ΡŽ строчку Option Explicit. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π“Ρ€Π°Π±Π»ΠΈ-3. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ/ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ β€” Π² любом мСстС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π•Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ пригодится: InPos, Mid, Trim, LBound, UBound. Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° всС вопросы ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ/ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² MSDN.

НадСюсь, Ρ‡Ρ‚ΠΎ этого Π’Π°ΠΌ Ρ…Π²Π°Ρ‚ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡƒΠ³Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ домашнСС Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. По Ρ…ΠΎΠ΄Ρƒ поста я Π±ΡƒΠ΄Ρƒ нСнавязчиво Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ Вас с Π½ΠΎΠ²Ρ‹ΠΌΠΈ конструкциями.

Кодим много и под Excel

Π’ этой части ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нашими листами Π² Excel. Для Π½Π°Ρ‡Π°Π»Π° создадим ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ result (лист с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ data). Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½ΡƒΠΆΠ½ΠΎ этот лист ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ Β«Π²Ρ‹Π΄Π΅Π»ΠΈΠΌΒ» лист с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ массиву с листами.

Sub FormatPrice()
Sheets( «result» ).Cells.Clear
Sheets( «data» ).Activate
End Sub

Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ячССк

Вся Ρ€Π°Π±ΠΎΡ‚Π° Π² Excel VBA производится с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ячССк. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Range ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Range. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ/ΠΈΠ»ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ. ΠšΡΡ‚Π°Ρ‚ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, свойство Cells листа β€” это Ρ‚ΠΎΠΆΠ΅ Range.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Range

Sheets( «result» ).Activate
Dim r As Range
Set r = Range( «A1» )
r.Value = «123»
Set r = Range( «A3,A5» )
r.Font.Color = vbRed
r.Value = «456»
Set r = Range( «A6:A7» )
r.Value = «=A1+A3»

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΉΠΌΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ нашСго ΠΊΠΎΠ΄Π°. Π˜Ρ‚Π°ΠΊ, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строчки листа data, начиная со Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нас Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ (ID, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ†Π΅Π½Π°) ΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ (Ρ‚ΠΈΠΏ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ). Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, эти строки отсортированы. Пока ΠΌΡ‹ Π·Π°Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎ пропуски ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ β€” Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅. Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

Для упрощСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-сокращСния:

Function GetCol(Col As Integer ) As String
GetCol = Chr(Asc( «A» ) + Col)
End Function

Π”Π°Π»Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ «тСкущая строчка»: Dim CurRow As Integer. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π΅Ρ‘ слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Π•Ρ‰Π΅ Π½Π°ΠΌ потрСбуСтся пСрСмСнная-«тСкущая строка Π² dataΒ», массив с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ строк. ΠŸΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Β«ΠΏΠΎΠΊΠ° пСрвая ячСйка Π² строкС нСпуста».

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Option Explicit ‘ ΠΏΡ€ΠΎ эту строчку я ΡƒΠΆΠ΅ рассказывал
Dim CurRow As Integer
Const GroupsCount As Integer = 2
Const DataCount As Integer = 3

FormatPrice

Sub FormatPrice()
Dim I As Integer ‘ строка Π² data
CurRow = 1
Dim Groups(1 To GroupsCount) As String
Dim PrGroups(1 To GroupsCount) As String

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Groups:

На мСстС многоточия

И ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ:

На мСстС многоточия Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ кускС

For I2 = 1 To GroupsCount
If Groups(I2) <> PrGroups(I2) Then
Dim I3 As Integer
For I3 = I2 To GroupsCount
AddHeader I3, Groups(I3)
Next I3
Exit For
End If
Next I2

НС Π·Π°Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ AddHeader:

ΠŸΠ΅Ρ€Π΅Π΄ FormatPrice

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ пСрСнСсти Π²ΡΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² result

ΠŸΠΎΠ΄ΠΎΠ³Π½Π°Ρ‚ΡŒ столбцы ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ лист result для ΠΏΠΎΠΊΠ°Π·Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

ПослС Ρ†ΠΈΠΊΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅ FormatPrice

Sheets( «Result» ).Activate
Columns.AutoFit

Всё. МоТно Π»ΡŽΠ±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсиСй.

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

НСкрасиво, Π½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ AddHeader:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Π’ΡƒΡ‚ ΡƒΠΆΠ΅ Π½Π°ΠΌ трСбуСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со всСми ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹ΠΌΠΈ ячСйками, ΠΈΠ½Π°Ρ‡Π΅ Π±ΠΎΡ€Π΄ΡŽΡ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ:

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ мСняСм ΠΊΠΎΠ΄ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ стиля Π³Ρ€Π°Π½ΠΈΡ†:

Select Case Ty
Case 1 ‘ Π’ΠΈΠΏ
.Font.Bold = True
.Font.Size = 16
.Borders(xlTop).Weight = xlThick
Case 2 ‘ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
.Font.Size = 12
.Borders(xlTop).Weight = xlMedium
End Select
.Borders(xlBottom).Weight = xlMedium ‘ По ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ: xlThick, xlMedium, xlThin, xlHairline
End With
CurRow = CurRow + 1
End Sub

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ лишь добится пропусков ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ:

Π’ Π½Π°Ρ‡Π°Π»Π΅ FormatPrice

Dim I As Integer ‘ строка Π² data
CurRow = 0 ‘ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ пропуска Π² самом Π½Π°Ρ‡Π°Π»Π΅
Dim Groups(1 To GroupsCount) As String

Π’ Ρ†ΠΈΠΊΠ»Π΅ расстановки Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²

If Groups(I2) <> PrGroups(I2) Then
CurRow = CurRow + 1
Dim I3 As Integer

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Π’ точности Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ.

НадСюсь, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ освоится с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ для Excel Π½Π° VBA. Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ «ID, НазваниС, Π¦Π΅Π½Π°» Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Подсказка: CurRow = 0 CurRow = 1.

Π€Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚ (min.us) ΠΈΠ»ΠΈ Ρ‚ΡƒΡ‚ (Dropbox). НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ исполнСниС макросов. Если ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ подскаТСт чСловСчСских файлохостинг, залью Ρ‚ΡƒΠ΄Π°.

Бпасибо за вниманиС.

Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ конструктивной ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅ Π² коммСнтариях.

UPD: ΠŸΠ΅Ρ€Π΅Π·Π°Π»ΠΈΠ» ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Dropbox ΠΈ min.us.

UPD2: На самом Π΄Π΅Π»Π΅, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ скобки ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. Π›ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Call Foo(Β«barΒ», 1, 2, 3) β€” Ρ‚ΡƒΡ‚ скобки Π½ΡƒΠΆΠ½Ρ‹ постоянно.

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

VBA Excel. НачинаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нуля

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ знакомство с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ VBA Excel, созданиС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ) ΠΈ написаниС ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ ячСйками Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

НачинаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нуля
Π§Π°ΡΡ‚ΡŒ 1. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
[Π§Π°ΡΡ‚ΡŒ 1] [Π§Π°ΡΡ‚ΡŒ 2] [Π§Π°ΡΡ‚ΡŒ 3] [Π§Π°ΡΡ‚ΡŒ 4]

Знакомство с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ VBA

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

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

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ModuleΒ» Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ссылку Π½Π° Π½Π΅Π³ΠΎ, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΡƒΡŽΡΡ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ слСва.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° VBA Excel

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

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ откроСтся ΠΎΠΊΠ½ΠΎ добавлСния шаблона ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Sub).

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Имя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написано ΠΊΠ°ΠΊ Π½Π° Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ Π·Π½Π°ΠΊ подчСркивания. Оно ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, вмСсто ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊ подчСркивания.

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль

Ѐункция MsgBox Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ тСкстом. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ – это Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β».

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль
Если Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС, ΠΊΠ°ΠΊ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‚ΠΎ, ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ – Π²Ρ‹ написали свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ!

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Β«DimΒ». Если ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½ΠΈ смогут ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ доступныС Π² VBA Excel значСния. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² тСкстС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со Π·Π½Π°ΠΊΠ° Β«’Β» (апостроф).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2
ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

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

НСсколько совСтов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с VBA Π² Excel

ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΈΡ„ Π² эксСль
Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь!

НСкотороС врСмя Π½Π°Π·Π°Π΄ мСня попросили Β«ΠΏΠΎΠΌΠΎΡ‡ΡŒ с ЭксСлСм», Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠ΄Π²Π΅Ρ€Π½ΡƒΠ»Π°ΡΡŒ такая, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π·Π° послСдниС ΠΏΠ°Ρ€Ρƒ мСсяцСв я ΡƒΠ·Π½Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ, Ρ‡Π΅ΠΌ ΠΈ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΎΠ³ΠΎΠ½ΠΊΡƒ ΠΊ Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ основы Visual Basic. Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, здСсь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

Visual Basic

ΠžΠΏΡ†ΠΈΠΈ

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² VB массивы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с индСкса 1, Ρ‡Ρ‚ΠΎ для ΠΌΠ½ΠΎΠ³ΠΈΡ… странно, поэтому Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ:

Π’Π°ΠΊ ΠΆΠ΅ рСкомСндуСтся ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ:

Π’ этом случаС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ объявлСния всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ:
β€” VB Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ ΠΈΡ… нАпиБаниС ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΎ всём ΠΊΠΎΠ΄Π΅ Π½Π° послСдний Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚;
β€” ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… byRef, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°Π΄ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ/ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ byVal).

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ являСтся ON ERROR. ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

ВозмоТности языка

Π₯отя VB довольно прост, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π΅Π³ΠΎ синтаксису. Π―, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡƒΠ·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ слоТныС усолвия Π² SELECT’Π°Ρ… (Π°Π½Π°Π»ΠΎΠ³ switch):

УскорСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ макросов

Часто макросы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ рСсурсоёмкой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Prepare ΠΈ Ended.

По порядку:
1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ пСрСрисовку ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° экранС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΈΠ³Π°Π»ΠΎ.
2. Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ расчСт. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ссли макрос прСрваляс посрСди Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚ΠΎ расчСт Ρ‚Π°ΠΊ ΠΈ останСтся Π² Ρ€ΡƒΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅!
3. НС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события.
4. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ† страниц, Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚.
5. Π’ статусной строкС выводятся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ.
6. Π­Ρ‚ΠΎ Ссли Π½ΡƒΠΆΠ½ΠΎ. Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сообщСния ЭксСля. НапримСр, ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Workbook.Close, ЭксСль Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΈ измСнСния. ΠŸΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° всС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π°Π½Ρ‹ автоматичСски (измСнСния Π½Π΅ сохранятся).

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ VBA выполняСт всС дСйствия Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ страницы, ΠΎΠ½ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π£ мСня Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΠ»ΠΈΡΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для 10 листов, это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½Π΅ быстро. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ:

Π”Π°Π»Π΅Π΅, часто Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ячССк ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π’ΡƒΡ‚ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ for с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ индСксов, ΠΎΠ½ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ЭксСля, Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:
Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ просматриваСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π² Π½Π΅ΠΌ Β«ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ячСйки», Π² Π΄Π°Π½Π½ΠΎΠΌ случаС всС, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ (Ρ‚.Π΅. Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со Π·Π½Π°ΠΊΠ° Ρ€Π°Π²Π½ΠΎ). Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки смотрится, Ссли ΠΎΠ½Π° Π½Π΅ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π°, Ρ‚ΠΎ Π΅Ρ‘ Π½Π°Π΄ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ (см. Π΄Π°Π»Π΅Π΅) ΠΈ ΠΏΠΎΠΊΡ€Π°ΡΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро.

Для Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, лист, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ячСйку) Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Variant.

ЕстСствСнно, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ значСния Π² ячСйках, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, всё Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ «растягиваниС» ячССк ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ автозаполнСния.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ события

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· срабатываСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°.
Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС настройки ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ (поля, ориСнтация) ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅. МоТно ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли макросы ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Ρ‚ΠΎ ΠΈ Π½Π΅ выполнится Π½ΠΈΡ‡Π΅Π³ΠΎ. Если Π² ЭксСлС Π²Ρ‹Π»Π΅Π·Π»Π° Π²Π²Π΅Ρ€Ρ…Ρƒ панСлька с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎ макросах ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» Β«Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΒ», Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнится ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Workbook_open().

Бписок доступных событий ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π²Π΅Ρ€Ρ…Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VB. НапримСр, я Π΄Π΅Π»Π°Π» Π½Π° событиС Change ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ ячСйка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ измСнСния, ΠΈ Ссли это Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ‚ΠΎ дСлалась запись Π² Π»ΠΎΠ³ со старым ΠΈ Π½ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π—Π°Ρ‰ΠΈΡ‚Π°

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… сразу ΠΎΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ MS Office Π½Π΅ исполняСт макросы Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π³Π΄Π΅ ΠΎΠ½ Π½Π΅ нашСл антивируса, Ссли ΠΊΠ½ΠΈΠ³Π° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π°. Бталкивался Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π³Π΄Π΅ антивирус Π±Ρ‹Π», Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ Windows XP ΠΎΠ± этом Π½Π΅ Π·Π½Π°Π»Π°.

Π•Ρ‰Ρ‘ антивирус ΠΌΠΎΠΆΠ΅Ρ‚ странным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π΅, Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ошибки, Π½Π΅ совсСм ΠΎΠ±ΡŠΡΡΠ½ΠΈΠΌΡ‹Π΅. Показал Π°ΠΉΡ‚ΠΈΡˆΠ½ΠΈΠΊΠ°ΠΌ, сказали ΠΎΠΊ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сдСлали, Π½Π΅ знаю.

Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π²ΠΎΠ΄ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ячСйки (Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ нСльзя). Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки Β«Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈΒ». Для этого Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΠ·:
β€” выдСляСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ячССк, ΡΠ½ΡΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ячСйку»;
β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ячСйку» Π² быстрый доступ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π΅Ρ‘, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½Π΅Ρ‘ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π° ячСйка ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π΅Ρ‚;
β€” Π° это пригодится, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ снимаСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ с Π½ΡƒΠΆΠ½Ρ‹Ρ… ячССк сам.

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ лист. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ такая ΠΊΠ½ΠΎΠΏΠΊΠ°. Окошко просит ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ). К соТалСнию, список ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ°Π»ΠΎΠ²Π°Ρ‚. Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ±ΠΈΠ΄Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ нСльзя Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ/Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ столбцов/строк. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ дСйствуСм Ρ‚Π°ΠΊ, Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ½ΠΈΠ³ΠΈ прописываСм:
Π—Π½Π°ΠΊ подчСркивания ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ строку Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ физичСской строкС. Π˜Ρ‚Π°ΠΊ, здСсь ΠΌΡ‹:
1. Бняли Π·Π°Ρ‰ΠΈΡ‚Ρƒ.
2. Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ.
3. ΠŸΠΎΡΡ‚Π°Π²ΠΈΠ»ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρƒ, ΠΏΡ€ΠΈ этом:
β€” Π·Π°Ρ‰ΠΈΡ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΡŽΠ·Π΅Ρ€Π°, макросы ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ (!), ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ;
β€” Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ сортировку, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк/столбцов (высота/ΡˆΠΈΡ€ΠΈΠ½Π°);
β€” DrawingObject Π² Π΄Π°Π½Π½ΠΎΠΌ случаС снимаСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ с ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΊ ячСйкам, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π΅Ρ‰Ρ‘ с Ρ‡Π΅Π³ΠΎ.

Π’ΡƒΡ‚ ΠΌΡ‹ сталкиваСмся с ΠΏΠ°Ρ€ΠΎΠΉ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ². Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ всС макросы Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΊ. Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ Π±Π°Π³, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сдСлаСшь. НСльзя Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ строку, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ. Если Β«Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΒ» Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°ΠΆΠΌΠ΅Ρ‚ ctrl+break, Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π° слСтит.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, скаТСм Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ способом нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки (AllowDeletingRows), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ ячСйки, Ρ…ΠΎΡ‚ΡŒ ΠΎΠ΄Π½Π°. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚.

РСшСниСм (костылСм) являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ сочСтания клавиш для удалСния. Π—Π°ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΠ» Ρ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ. Π’ Workbook_open добавляСм:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ shift+delete.
Π—Π½Π°ΡŽ, ΠΊΠΎΠ΄ нСкрасивый, проститС. Π—Π΄Π΅ΡΡŒ я пытался ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° строка, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ строк Ρ‚Π°ΠΌ 1, Π° ячССк Π½Π΅ мСньшС тысячи. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎ, придСтся Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ тысячу ячССк начиная Π½Π΅ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца. Π”Π°Π»Π΅Π΅ провСряСтся имя листа ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° строк. ВмСсто 50 Π±Ρ‹Π» расчСт послСдСнй строки (вСдь ΠΈΡ… число мСняСтся, Ссли ΠΌΡ‹ ΠΈΡ… удаляСм ΠΈ добавляСм).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

VBA β€” вСсьма Π³Π»ΡŽΡ‡Π½Π°Ρ Π²Π΅Ρ‰ΡŒ, которая позволяСт ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ€Ρ‹ Π² MS Office. МногиС прСдприятяи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Excel Π³ΠΎΠ΄Π°ΠΌΠΈ, ΠΈ Ссли ΠΎΠ½ΠΈ сдСланы Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Для изучСния VBA ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ½ сам, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ справка. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Protect, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ F1, Protect, Π²Π²ΠΎΠ΄. И вуаля.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π·Π½Π°Ρ‚ΠΎΠΊΠ°ΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π΄Π°Ρ‚ΡŒ совСты Π² коммСнтариях. Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π²Π°ΠΌ.

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

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

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