макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния

макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния. guy. макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния Ρ„ΠΎΡ‚ΠΎ. макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния-guy. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° guy. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΎΠΏΡ‹Ρ‚ программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΉ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания Excel. Если Π²Ρ‹ Π΅Ρ‰Π΅ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Excel, я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π’Π°ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ 20 Ρ„ΠΎΡ€ΠΌΡƒΠ» Excel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½eΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ сСйчас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностях Excel.Атанас Π™ΠΎΠ½ΠΊΠΎΠ² Π‘Π»ΠΎΠ³Π³Π΅Ρ€, Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
yonkov.atanas@gmail.com

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

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

Table of Contents

Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ макросы Π² Excel

1. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

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

2. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ скрытых строк

Иногда большиС Ρ„Π°ΠΉΠ»Ρ‹ Excel ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ скрытыС строки для большСй ясности И для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ макрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ всС строки ΠΈΠ· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ пустых строк ΠΈ столбов

4. НахоТдСниС пустых ячССк

13. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сводной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

14. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅

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

15. Вставка всСх Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Excel Π² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ PowerPoint

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

16. Вставка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel Π² MS Word

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

17. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ слов ΠΈΠ· тСкста

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

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

18. Π—Π°Ρ‰ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² MS Excel

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ макросов Excel

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ простыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ макросов Excel ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹, описанныС Π² самоучитСлС ΠΏΠΎ Excel VBA.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 1

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ эта ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Sub Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π°, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΊΠΎΠ΄Π΅ VBA. Однако, здСсь Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ссылки Π½Π° ячСйки Excel, использованиС Ρ†ΠΈΠΊΠ»Π° For, условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° If ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран ΠΎΠΊΠ½Π° сообщСния.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 2

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Sub – ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ†ΠΈΠΊΠ»Π° Do While. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ€Π°Π±ΠΎΡ‚Ρƒ со ссылками Π½Π° ячСйки Excel ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° If.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 3

Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Sub просматриваСт ячСйки столбца A Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ встрСтит ΠΏΡƒΡΡ‚ΡƒΡŽ ячСйку. ЗначСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² массив. Π­Ρ‚ΠΎΡ‚ простой макрос Excel ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с динамичСскими массивами, Π° Ρ‚Π°ΠΊΠΆΠ΅ использованиС Ρ†ΠΈΠΊΠ»Π° Do Until. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ дСйствия с массивом, хотя Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ записаны Π² массив, Π½Π°Π΄ Π½ΠΈΠΌΠΈ Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 4

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Sub считываСт значСния ΠΈΠ· столбца A Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Лист2 ΠΈ выполняСт с Π½ΠΈΠΌΠΈ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ заносятся Π² ячСйки столбца A Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Π’ этом макросС продСмонстрировано использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Excel. Π’ частности, производится ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ Sub ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Columns, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ доступ ΠΊ этому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet. Показано Ρ‚Π°ΠΊ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ячСйкС ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ ячССк Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС, имя этого листа ΠΏΡ€ΠΈ записи ссылки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 5

Π”Π°Π½Π½Ρ‹ΠΉ макрос ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° VBA, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ событиС Excel. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ привязан макрос, происходит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ячСйки ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Π’ нашСм случаС ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ячСйки B1, Π½Π° экран выводится ΠΎΠΊΠ½ΠΎ с сообщСниСм.

ΠœΠ°ΠΊΡ€ΠΎΡ Excel: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 6

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² On Error ΠΈ Resume для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ открытия ΠΈ чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

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

Π Π°Π±ΠΎΡ‚Π° с макросами Excel для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

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

ΠœΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ макросов Excel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ станут Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых Π·Π°Π΄Π°Ρ‡.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ макроса

Π’Π΅Ρ€ΠΌΠΈΠ½ Β«ΠœΠ°ΠΊΡ€ΠΎΡΒ» ΡΠ»Ρ‹ΡˆΠ°Π»ΠΎ мноТСство людСй. НСрСдко ΠΏΡ€ΠΈ запускС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ появляСтся ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: β€œΠ­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ макросы, способныС Π½Π°Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, поэтому ΠΎΠ½ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ с Ρ†Π΅Π»ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ врСдоносных дСйствий”.

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

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

Π’Π°ΠΊΠΆΠ΅ макрос ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Ρ€ΠΎΡΠ½ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ врСдоносных дСйствий со стороны стороннСго макроса, Π½Π΅ стоит Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ макросы ΠΈΠ· сторонних источников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚.

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

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш. НапримСр, Ссли Π½Π°ΠΆΠ°Ρ‚ΡŒ Ctrl+J, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: извСстная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° бухгалтСрского ΡƒΡ‡Π΅Ρ‚Π° 1C ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»Π° Excel, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΡΡ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ.

Если ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ слоТныС инструкции, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Visual Basic, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈ рассмотрим Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅.

Когда ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ записи макросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования макросов β„–1

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

β€˜ ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска ячССк с адрСсами A1-A100 Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа

β€˜ ΠΈ поиска ячССк, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится трСбуСмая строка

Sub Find_String(sFindText As String)

Dim i As Integer β€˜ ЦСлочислСнная пСрСмСнная, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ Ρ‚ΠΈΠΏΠ° Β«ForΒ»

Dim iRowNumber As Integer β€˜ ЦСлочислСнная пСрСмСнная, прСдназначСнная для сохранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

β€˜ Π¦ΠΈΠΊΠ» Ρ‡Π΅Ρ€Π΅Π· ячСйки A1-A100 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° строка β€˜sFindText’

If Cells(i, 1).Value = sFindText Then

β€˜ Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки

β€˜ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°

β€˜ Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сообщСниС, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строкС ΠΈ Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€Π΅

If iRowNumber = 0 Then

MsgBox β€œString ” & sFindText & ” not found”

MsgBox β€œString ” & sFindText & ” found in cell A” & iRowNumber

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2

Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° пСрСчисляСт всС значСния числовой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ 1000. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ приводятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности макросов Excel:

β€˜ ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для пСрСчислСния всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Fibonacci для всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½ΠΈΠΆΠ΅ тысячи

Dim i As Integer β€˜ счСтчик для ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² сСрии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Dim iFib As Integer β€˜ сохраняСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сСрии

Dim iFib_Next As Integer β€˜ сохраняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сСрии

Dim iStep As Integer β€˜ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага

β€˜ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… variables i ΠΈ iFib_Next

β€˜ Π¦ΠΈΠΊΠ» Do While, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ исполняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½ΠΎΠΌΠ΅Ρ€

β€˜ числа Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ мСньшС 1000.

Do While iFib_Next Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ значСния с ячСйки Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ A Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ ячСйку. Вся получСнная информация сохраняСтся Π² массивС. Π­Ρ‚ΠΎ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ макросов Π² элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚:

β€˜ ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ А Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа

Dim iRow As Integer β€˜ сохраняСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки

Dim dCellValues() As Double β€˜ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся значСния ячССк

ReDim dCellValues(1 To 10)

β€˜ Π¦ΠΈΠΊΠ» Do Until, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки Π² столбцС А

β€˜ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ячСйка Π½Π΅ окаТСтся пустой

Do Until IsEmpty(Cells(iRow, 1))

β€˜ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, достаточно Π»ΠΈ большой массив dCellValues

β€˜ Если Π½Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ReDim, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π½Π° 10 элСмСнтов.

If UBound(dCellValues) Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Β«SubΒ» Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ содСрТимоС ячССк ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ А Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ листа, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Β«Sheet2Β» ΠΈ с этими значСниями осущСствляСт арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ А Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚:

β€˜ ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ Ρ†ΠΈΠΊΠ» Ρ‡Π΅Ρ€Π΅Π· значСния Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ А Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа

β€˜ β€œSheet2”, perform arithmetic operations on each value, and write the

β€˜ result into Column A of the current Active Worksheet (β€œSheet1”)

Dim dVal As Double

β€˜ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Col Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ А листа 2

Set Col = Sheets(β€œSheet2”).Columns(β€œA”)

β€˜ ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ β€˜Col’ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ°

β€˜ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° пустая ячСйка

Do Until IsEmpty(Col.Cells(i))

β€˜ ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ячСйки

dVal = Col.Cells(i).Value * 3 – 1

β€˜ Команда Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ А

β€˜ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа – Π±Π΅Π· уточнСния названия Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ макроса ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° VBA, связанного с событиСм. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ выдСляСт ячСйку ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, связанноС с макросом событиС активируСтся.

β€˜ Код для отобраТСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ячСйки B1 Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа Π² случаС, Ссли ΠΎΠ½Π° Π²Ρ‹Π±Ρ€Π°Π½Π°

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

β€˜ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π²Ρ‹Π±Ρ€Π°Π½Π° Π»ΠΈ ячСйка B1

If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then

β€˜ ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ячСйки B1 ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ

MsgBox β€œYou have selected cell B1”

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° дСмонстрируСт, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ошибки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² OnError ΠΈ Resume. Π’Π°ΠΊΠΆΠ΅ Π² этом ΠΊΠΎΠ΄Π΅ описываСтся, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с Ρ„Π°ΠΉΠ»Π°.

β€˜ ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, для для установки ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

β€˜ Π² ячСйках A1 ΠΈ B1 Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° β€œData.xls” Π½Π° дискС C:\

Sub Set_Values(Val1 As Double, Val2 As Double)

Dim DataWorkbook As Workbook

On Error GoTo ErrorHandling

β€˜ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Set DataWorkbook = Workbooks.Open(β€œC:\Documents and Settings\Data”)

β€˜ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Val1 and Val2 с Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ½ΠΈΠ³Π΅ Excel

Val1 = Sheets(β€œSheet1”).Cells(1, 1)

Val2 = Sheets(β€œSheet1”).Cells(1, 2)

β€˜ Если Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ

β€˜ послС Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

MsgBox β€œData Workbook not found;” & _

β€œPlease add the workbook to C:\Documents and Settings and click OK”

ПослС Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ознакомлСния с этими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию макросов

Π•ΡΡ‚ΡŒ нСсколько Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования макросов Π² элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…:

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

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

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сторонниС макросы, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ бСзопасности ΠΈΡ… использования.

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

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

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

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

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 панСль Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ». Π’ Π½Π΅ΠΉ находятся ΠΊΠ½ΠΎΠΏΠΊΠΈ, тСкстовыС поля ΠΈ ΠΏΡ€. элСмСнты для конструирования Ρ„ΠΎΡ€ΠΌ.

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

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

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

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

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

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

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

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

Кодим

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

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

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

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

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

НапишСм 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

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

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

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

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

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

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

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

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

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

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

Π’ Π½Π°Ρ‡Π°Π»Π΅ 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 ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния. image loader. макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния Ρ„ΠΎΡ‚ΠΎ. макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° макрос Π² excel ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° значСния. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΎΠΏΡ‹Ρ‚ программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΉ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания Excel. Если Π²Ρ‹ Π΅Ρ‰Π΅ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Excel, я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π’Π°ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ 20 Ρ„ΠΎΡ€ΠΌΡƒΠ» Excel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½eΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ сСйчас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностях Excel.

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

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

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

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

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

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

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

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

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

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