Π Π°Π·Π½ΠΎΠ΅

Vba excel ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист: Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя

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

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя

Автор Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π―ΠΊΡƒΡˆΠ΅Π² На Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 2 ΠΌΠΈΠ½. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ² 1k.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ макрос: Π‘Π°ΠΌΡ‹ΠΉ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист с присвоСниСм Π΅ΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Как макрос Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Если Π²Ρ‹ Π²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ знаниями английского, Ρ‚ΠΎ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот макрос Π±Π΅Π· подсказок.

Код макроса

Sub DobavitNoviiList()
'Π¨Π°Π³ 1: Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Excel, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ошибка
On Error GoTo MyError
'Π¨Π°Π³ 2: ДобавляСм лист
Sheets.Add
'Π¨Π°Π³ 3: ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ имя
ActiveSheet.Name = "ΠžΡ‚Ρ‡Π΅Ρ‚"_
WorksheetFunction.Text(Now(),"yyyy")
'Π¨Π°Π³ 4: Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ
Exit Sub
'Π¨Π°Π³ 5: Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка, сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ
MyError:
MsgBox "Лист с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ!"
End Sub

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ макрос

  1. Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠΌΡƒ листу имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° шагС 1, макрос Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Excel Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ строкС, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ MyError (Π½Π° шагС 3), Ссли Π΅ΡΡ‚ΡŒ ошибка.
  2. Для создания листа ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Add. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, лист называСтся SheetΠ₯Π₯, Π³Π΄Π΅ Ρ…Ρ… прСдставляСт число листа. ΠœΡ‹ Π΄Π°Π΅ΠΌ листу Π½ΠΎΠ²ΠΎΠ΅ имя ΠΏΡƒΡ‚Π΅ΠΌ измСнСния свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ActiveSheet.Name Π² этом случаС ΠΌΡ‹ ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Β«ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³ΠΎΠ΄Β».
  3. Как ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ добавляСтС Π½ΠΎΠ²Ρ‹ΠΉ лист с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA, ΠΎΠ½ автоматичСски становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ИмСнно поэтому ΠΌΡ‹ пишСм ActiveSheet.Name.
  4. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° шагС 4 ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π”Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ случайно Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π» сообщСниС ΠΎΠ± ошибкС.
  5. Π”Π°Π½Π½Ρ‹ΠΉ шаг запускаСтся, Ссли имя Π½ΠΎΠ²ΠΎΠ³ΠΎ листа совпадаСт с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сообщСния увСдомляСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ± этом. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, этот шаг Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС возникновСния ошибки.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого макроса, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

  1. АктивируйтС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Visual Basic, Π½Π°ΠΆΠ°Π² ALT + F11.
  2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° / Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Insert➜Module.
  4. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ Π²ΠΎ вновь созданном ΠΌΠΎΠ΄ΡƒΠ»Π΅.

VBA Excel. Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист (ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, скрытиС)

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Excel ΠΈΠ· ΠΊΠΎΠ΄Π° VBA. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ листов, скрытиС ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA Excel. Бвойства Worksheets.Name ΠΈ Worksheets.Visible.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам

Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист (Worksheet) ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов (Worksheets) ΠΊΠ½ΠΈΠ³ΠΈ Excel. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ листу ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΊ элСмСнту ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΏΠΎ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΡˆΡƒ ΠΊΠ½ΠΈΠ³Ρƒ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅, Π³Π΄Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° листов ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π±Π΅Π· скобок, Π° Π² скобках – ΠΈΠΌΠ΅Π½Π° листов, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π½Π° ярлычках Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel. Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° листов отсортированы ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ ΠΈ ΠΈΡ… располоТСниС ΠΏΠΎ порядку Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… индСксам (Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ), Ссли листы ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π»ΠΈΡΡŒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ. Π˜Π½Π΄Π΅ΠΊΡΡ‹ листов смотритС ΠΏΠΎ порядку располоТСния ярлычков Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈ листы – измСнились ΠΈΡ… индСксы.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу Π² ΠΊΠΎΠ΄Π΅ VBA Excel:

‘По ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ

Π£Π½ΠΈΠΊΠ˜ΠΌΡΠ›ΠΈΡΡ‚Π°

Β 

‘По индСксу

Worksheets(N)

Β 

‘По ΠΈΠΌΠ΅Π½ΠΈ листа Π½Π° ярлычкС

Worksheets(«Π˜ΠΌΡ листа»)

  • Π£Π½ΠΈΠΊΠ˜ΠΌΡΠ›ΠΈΡΡ‚Π° – ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя листа, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA Π±Π΅Π· скобок, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
  • N – индСкс листа ΠΎΡ‚ 1 Π΄ΠΎ количСства всСх листов Π² ΠΊΠ½ΠΈΠ³Π΅, соотвСтствуСт порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ ярлычка этого листа Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel.
  • Имя листа – имя листа, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA Π² скобках, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ листов Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel опрСдСляСтся Ρ‚Π°ΠΊ:

‘Π’ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅

Worksheets.Count

Β 

‘Π’ любой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅,

‘Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² «Книга1.xlsmΒ»

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Worksheets.Count

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ листов

Π’ VBA Excel Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Π² Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ листов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π΅ΡΡ‚ΡŒ Π΄Π²Π° свойства, связанных с ΠΈΠΌΠ΅Π½Π΅ΠΌ: (Name) ΠΈ Name. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Β«PropertiesΒ» Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Β«F4Β», ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ любой лист Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΊΠ½Π΅ Β«PropertiesΒ» свойству (Name) Π² скобках соотвСтствуСт Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя листа Π±Π΅Π· скобок, Π° свойству Name Π±Π΅Π· скобок соотвСтствуСт измСняСмоС имя листа Π² скобках. Оба ΠΈΠΌΠ΅Π½ΠΈ Π² ΠΎΠΊΠ½Π΅ Β«PropertiesΒ» ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA Excel ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя листа Name, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° ярлычкС листа ΠΈ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Π±Π΅Π· скобок. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Worksheets.Name со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ синтаксисом:

expression.Name

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet. Π‘ΠΌΠ΅Π½Π° ΠΈΠΌΠ΅Π½ΠΈ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ присвоСния Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния свойству Worksheets.Name.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ лист с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Name) – Лист1, индСксом – 1 ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Name – ΠœΠΎΠΉΠ›ΠΈΡΡ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° имя – РССстр.

Лист1.Name = «Π Π΅Π΅ΡΡ‚Ρ€»

Worksheets(1).Name = «Π Π΅Π΅ΡΡ‚Ρ€»

Worksheets(«ΠœΠΎΠΉΠ›ΠΈΡΡ‚»).Name = «Π Π΅Π΅ΡΡ‚Ρ€»

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ листов

Для скрытия ΠΈ отобраТСния Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π² VBA Excel ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство Worksheet.Visible со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ синтаксисом:

expression.Visible

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet. Бвойству Worksheet.Visible ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

  • False – лист становится Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ, Π½ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² спискС скрытых листов, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Excel.
  • xlVeryHidden – лист становится супСр Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ ΠΈ Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² спискС скрытых листов, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ смоТСт Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Excel 2003-2016.
  • True – лист становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.

Аналоги присваиваСмых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

  • False = xlHidden = xlSheetHidden = 1
  • xlVeryHidden = xlSheetVeryHidden = 2
  • True = xlSheetVisible = -1 (константа xlVisible Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

Лист1.Visible = xlSheetHidden

Лист2.Visible = -1

Worksheets(Worksheets.Count).Visible = xlVeryHidden

Worksheets(«ΠœΠΎΠΉΠ›ΠΈΡΡ‚»).Visible = True

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA Excel, смотритС Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

VBA Excel. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Excel ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Workbooks.Add, Worksheet.Copy ΠΈ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Open ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° CreateTextFile ΠΈΠ· ΠΊΠΎΠ΄Π° VBA Excel. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Word рассмотрСно Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Excel

ΠœΠ΅Ρ‚ΠΎΠ΄ Workbooks.Add

ОписаниС

Π€Π°ΠΉΠ»Ρ‹ Excel ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΠ΄Π° VBA с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Add ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbooks.

Workbooks.Add – это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Excel. Новая ΠΊΠ½ΠΈΠ³Π° послС создания становится Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ.

Бсылку Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Excel, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Workbooks.Add, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Set ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ, ΠΊΠ°ΠΊ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅: ActiveWorkbook.

Бинтаксис

Workbooks.Add (Template)

Template – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΊΠ°ΠΊ создаСтся новая ΠΊΠ½ΠΈΠ³Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TemplateΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚ΠΠΎΠ²Π°Ρ ΠΊΠ½ΠΈΠ³Π° с количСством листов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
ПолноС имя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° ExcelНовая ΠΊΠ½ΠΈΠ³Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π² качСствС шаблона.
xlWBATChartНовый Ρ„Π°ΠΉΠ» с ΠΎΠ΄Π½ΠΈΠΌ листом Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.
xlWBATWorksheetНовый Ρ„Π°ΠΉΠ» с ΠΎΠ΄Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листом.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Excel с количСством листов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ сохранСниС Π΅Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ располоТСн Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ VBA:

Sub Primer1()

‘Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

Workbooks.Add

‘БохраняСм ΠΊΠ½ΠΈΠ³Ρƒ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ располоТСн Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ

ActiveWorkbook.SaveAs (ThisWorkbook.Path & «\Моя новая ΠΊΠ½ΠΈΠ³Π°.xlsx»)

‘Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

ActiveWorkbook.Close

End Sub

Π€Π°ΠΉΠ» «Моя новая ΠΊΠ½ΠΈΠ³Π°.xlsxΒ» понадобится для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Ρ„Π°ΠΉΠ»Ρƒ «Моя новая ΠΊΠ½ΠΈΠ³Π°.xlsxΒ» Π² качСствС шаблона с присвоСниСм ссылки Π½Π° Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, сохранСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Sub Primer2()

‘ОбъявляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ€Π°Π½Π½Π΅ΠΉ привязкой

Dim MyWorkbook As Workbook

‘Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Ρ„Π°ΠΉΠ»Π° «ΠœΠΎΡ новая ΠΊΠ½ΠΈΠ³Π°.xlsx»

Set MyWorkbook = Workbooks.Add(ThisWorkbook.Path & «\Моя новая ΠΊΠ½ΠΈΠ³Π°.xlsx»)

Β Β Β Β With MyWorkbook

Β Β Β Β Β Β Β Β ‘Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠ΅ имя присвоСно Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Β Β Β Β Β Β Β Β MsgBox .Name ‘»ΠœΠΎΡ новая ΠΊΠ½ΠΈΠ³Π°1″

Β Β Β Β Β Β Β Β ‘БохраняСм ΠΊΠ½ΠΈΠ³Ρƒ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

Β Β Β Β Β Β Β Β .SaveAs (ThisWorkbook.Path & «\Моя самая новая ΠΊΠ½ΠΈΠ³Π°.xlsx»)

Β Β Β Β Β Β Β Β ‘Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½ΠΎΠ²ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°

Β Β Β Β Β Β Β Β MsgBox .Name ‘»ΠœΠΎΡ самая новая ΠΊΠ½ΠΈΠ³Π°»

Β Β Β Β Β Β Β Β ‘ДобавляСм Π² ΠΊΠ½ΠΈΠ³Ρƒ Π½ΠΎΠ²Ρ‹ΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ «ΠœΠΎΠΉ Π½ΠΎΠ²Ρ‹ΠΉ лист»

Β Β Β Β Β Β Β Β .Sheets.Add.Name = «ΠœΠΎΠΉ Π½ΠΎΠ²Ρ‹ΠΉ лист»

Β Β Β Β Β Β Β Β ‘БохраняСм Ρ„Π°ΠΉΠ»

Β Β Β Β Β Β Β Β .Save

Β Β Β Β End With

End Sub

ΠœΠ΅Ρ‚ΠΎΠ΄ Worksheet.Copy

ОписаниС

Если Π² ΠΊΠΎΠ΄Π΅ VBA Excel ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Worksheet.Copy Π±Π΅Π· указания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Before ΠΈΠ»ΠΈ After, Π±ΡƒΠ΄Π΅Ρ‚ создана новая ΠΊΠ½ΠΈΠ³Π° с ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ листом (листами). Новая ΠΊΠ½ΠΈΠ³Π° станСт Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ копирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ листа (Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ½ΠΈΠ³Π°, созданная Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅):

Sub Primer3()

‘Если ΠΊΠ½ΠΈΠ³Π° источник Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°, Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Workbooks.Open (ThisWorkbook.Path & «\Моя новая ΠΊΠ½ΠΈΠ³Π°.xlsx»)

‘Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ листа

Workbooks(«ΠœΠΎΡ новая ΠΊΠ½ΠΈΠ³Π°.xlsx»).Worksheets(«Π›ΠΈΡΡ‚1»).Copy

‘БохраняСм Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΈΠΆΠΈΡ†Π°.xlsx» Π² ΠΏΠ°ΠΏΠΊΡƒ,

‘Π³Π΄Π΅ располоТСн Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ

ActiveWorkbook.SaveAs (ThisWorkbook.Path & «\Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΈΠΆΠΈΡ†Π°.xlsx»)

End Sub

Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Excel ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Workbooks.Add, ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Worksheet.Copy, ΠΌΠΎΠΆΠ½ΠΎ ссылку Π½Π° Π½Π΅Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊΠΎΠΏΠΈΠΈ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов ΠΈΠ· Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ΄ΠΎΠΌ VBA:

Sub Primer4()

ThisWorkbook.Worksheets.Copy

End Sub

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊΠΎΠΏΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов ΠΈΠ· Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠ΄ΠΎΠΌ VBA:

Sub Primer5()

ThisWorkbook.Sheets(Array(«Π›ΠΈΡΡ‚1», «Π›ΠΈΡΡ‚3», «Π›ΠΈΡΡ‚7»)).Copy

End Sub

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Open

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ тСкстовый Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Open, Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ создан. Новый Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΅Π³ΠΎ Π² любом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ доступа, ΠΊΡ€ΠΎΠΌΠ΅ Input (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния).

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Sub Primer6()

Dim ff As Integer, ws As Object

‘ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ свободный Π½ΠΎΠΌΠ΅Ρ€ для ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

ff = FreeFile

‘Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» ΠΏΡƒΡ‚Π΅ΠΌ открытия

‘Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния ΠΈ записи

Open ThisWorkbook.Path & «\Мой-Π½ΠΎΠ²Ρ‹ΠΉ-Ρ„Π°ΠΉΠ».txt» For Output As ff

‘ЗаписываСм Π² Ρ„Π°ΠΉΠ» тСкст

Write #ff, «Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» создан ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ » & _

«Open ΠΏΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ адрСсу (ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ).»

‘Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

Close ff

‘ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» для просмотра

Set ws = CreateObject(«WScript.Shell»)

ws.Run ThisWorkbook.Path & «\Мой-Π½ΠΎΠ²Ρ‹ΠΉ-Ρ„Π°ΠΉΠ».txt»

Set ws = Nothing

End Sub

Π’ ΠΈΠΌΠ΅Π½ΠΈ тСкстового Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ дСфисами (Π·Π½Π°ΠΊΠ°ΠΌΠΈ минус), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ Run ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Wscript.Shell Π½Π΅ способСн ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, содСрТащими ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ FileSystemObject.CreateTextFile

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΊΠΎΠ΄Π° VBA Excel ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ CreateTextFile ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FileSystemObject.

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

Sub Primer7()

Dim fso, fl, ws

‘Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FileSystemObject

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ fl Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ TextStream,

‘связанный с созданным ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ для записи Ρ„Π°ΠΉΠ»ΠΎΠΌ

Set fl = fso.CreateTextFile(ThisWorkbook.Path & «\Π•Ρ‰Π΅-ΠΎΠ΄ΠΈΠ½-тСкстовый-Ρ„Π°ΠΉΠ».txt»)

‘ЗаписываСм Π² Ρ„Π°ΠΉΠ» тСкст

fl.Write («Π­Ρ‚ΠΎΡ‚ тСкстовый Ρ„Π°ΠΉΠ» создан ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ CreateTextFile ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FileSystemObject.»)

‘Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»

fl.Close

‘ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» для просмотра

Set ws = CreateObject(«WScript.Shell»)

ws.Run ThisWorkbook.Path & «\Π•Ρ‰Π΅-ΠΎΠ΄ΠΈΠ½-тСкстовый-Ρ„Π°ΠΉΠ».txt»

End Sub

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° OpenTextFile ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FileSystemObject ΠΏΡ€ΠΈ условии присвоСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ create значСния True.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ листы ΠΈΠ· списка | Excel для всСх

MulTEx Β» 20 ΠœΠ°Ρ€Ρ‚ 2018 Β  Β Β  Β Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Β  Β Β  Β 2499 просмотров

Данная функция являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ надстройки MulTEx

Π’Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
MulTEx -Π³Ρ€ΡƒΠΏΠΏΠ° Π―Ρ‡Π΅ΠΉΠΊΠΈ/Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ листы ΠΈΠ· списка


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

Боздавая листы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°:

  • ΠΈΠ· ячССк Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° — указываСтся нСсколько ячССк, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… записаны ΠΈΠΌΠ΅Π½Π° для создаваСмых листов. НапримСр, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ листы с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ мСсяцСв, ΠΌΠΎΠΆΠ½ΠΎ Π² ячСйки A1:A12 Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ названия мСсяцСв:

    ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ эти ячСйки Π² ΠΏΠΎΠ»Π΅ ΠΈΠ· ячССк Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки содСрТит символы, нСдопустимыС для использования Π² ΠΈΠΌΠ΅Π½Π°Ρ… листов — ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

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

Π’ качСствС наполнСния создаваСмых листов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ — здСсь ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пустыС листы ΠΈΠ»ΠΈ Π² Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ содСрТимоС(Π½Π° основании Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ шаблона).

  • Лист Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ — Π² этом случаС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ созданный лист Π±ΡƒΠ΄Π΅Ρ‚ Π² точности ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ лист(Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π°, значСния). Π Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС лист-шаблон Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠ½ΠΈΠ³Π΅.
  • Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк — Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ созданный лист Π±ΡƒΠ΄ΡƒΡ‚ вставлСны ячСйки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
      Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, начиная с ячСйки — указываСтся ячСйка, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ вставку Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° — Π±ΡƒΠ΄Π΅Ρ‚ использована ячСйка A1.
  • Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пустыС листы — Π±ΡƒΠ΄ΡƒΡ‚ созданы пустыС листы.

Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ листы

  • Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ — листы Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ послС послСднСго листа Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.
  • Π² Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ — Π±ΡƒΠ΄Π΅Ρ‚ создана новая ΠΊΠ½ΠΈΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±

ΠœΠ°ΠΊΡ€ΠΎΡ Π½Π° VBA Excel – Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ | Info-Comp.ru

ΠžΡ‡Π΅Π½ΡŒ часто Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π½Π° основС ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ сотруднику ΠΈΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π»ΠΈΡ†Π΅Π²ΠΎΠΌΡƒ счСту. И Π΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π±Ρ‹Π²Π°Π΅Ρ‚ достаточно Π΄ΠΎΠ»Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° этих самых сотрудников ΠΈΠ»ΠΈ Π»ΠΈΡ†Π΅Π²Ρ‹Ρ… счСтов ΠΌΠ½ΠΎΠ³ΠΎ, поэтому сСгодня ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ макроса написанного Π½Π° VBA Excel.

НСмного поясню Π·Π°Π΄Π°Ρ‡Ρƒ, допустим, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ спСцифичСскиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ массово, Ρ‚.Π΅. Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΡ… получится ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ я ΡƒΠΆΠ΅ сказал Π²Ρ‹ΡˆΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ сотруднику. И это Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСпосрСдствСнно Π² Excel, Ссли Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² Word, Ρ‚ΠΎ ΠΌΡ‹ Π±Ρ‹ это сдСлали Ρ‡Π΅Ρ€Π΅Π· «БлияниС», Π½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Excel, поэтому для этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ макрос.

ΠœΡ‹ с Π’Π°ΠΌΠΈ ΡƒΠΆΠ΅ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Access ΠΈΠ· Π±Π°Π·Ρ‹ MSSql 2008 Π² Word ΠΈ Excel Π²ΠΎΡ‚ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ β€” Β Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Access Π² шаблон Word ΠΈ Excel. Но сСйчас допустим, Ρƒ нас Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Π±Π°Π·Π΅, Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ нСльзя ΠΈΠ»ΠΈ слишком Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, поэтому ΠΌΡ‹ просто Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Excel ΠΈ Π½Π° основС Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ сформируСм наши Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простой шаблон, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ просто наглядно ΠΈ понятно (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°), Ρƒ Вас Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ шаблон Π±ΡƒΠ΄Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСй.

Напомню, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ сайтС Ρ‚Π΅ΠΌΠ° VBA Excel ΡƒΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π»Π°ΡΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ – ЗапрСт доступа ΠΊ листу Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пароля

И Ρ‚Π°ΠΊ приступим!

ПишСм макрос Π½Π° VBA Excel ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ Π±ΡƒΠ΄Π΅ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Β«Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ сотрудника» (я это просто ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»:), хотя ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ), Ρ‚.Π΅. Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ сотрудника вашСго прСдприятия, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Excel.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅! ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ Π² Excel 2010.

И для Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ исходныС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚.Π΅. сами Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ шаблон

Π”Π°Π½Π½Ρ‹Π΅.

Лист, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располоТСны эти Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Β«Π”Π°Π½Π½Ρ‹Π΅Β»

Π¨Π°Π±Π»ΠΎΠ½.

Лист, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располоТСн шаблон, Ρ‚ΠΎΠΆΠ΅ Ρ‚Π°ΠΊ ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Β«Π¨Π°Π±Π»ΠΎΠ½Β»

Π”Π°Π»Π΅Π΅, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ для вставки, Ρ‚Π°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Π΅ΠΉ ΠΊ Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‡Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ячСйки.

Π­Ρ‚ΠΎ дСлаСтся ΠΎΡ‡Π΅Π½ΡŒ просто, выдСляСтС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ячСйку ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΈ ΠΆΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Β«ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя», ΠΏΠΈΡˆΠΈΡ‚Π΅ имя ячСйки ΠΈ ΠΆΠΌΠ΅Ρ‚Π΅ «ОК»


Π‘Π²ΠΎΠΈ поля я Π½Π°Π·Π²Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • ЀИО – fio;
  • β„– β€” number;
  • Π”ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ – dolgn;
  • АдрСс проТивания – addres;
  • Π’Π΅Π». β„– сотрудника – phone;
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ – comment.

Код макроса Π½Π° VBA Excel

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ макроса, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ Π½Π° Π»Π΅Π½Ρ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ», Π΄Π°Π»Π΅Π΅ макросы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅! По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π² Excel 2010 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Π»Π΅Π½Ρ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ мСню «Настройка Π»Π΅Π½Ρ‚Ρ‹Β»

Π·Π°Ρ‚Π΅ΠΌ, Π² ΠΏΡ€Π°Π²ΠΎΠΉ области ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΡƒΠ½ΠΊΡ‚Π° Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ»

ПослС Π²ΠΊΠ»Π°Π΄ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ станСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° Π»Π΅Π½Ρ‚Π΅.

Π”Π°Π»Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠœΠ°ΠΊΡ€ΠΎΡΡ‹Β» Ρƒ Вас отобразится ΠΎΠΊΠ½ΠΎ создания макроса, Π’Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ макросы ΠΈ ΠΆΠΌΠ΅Ρ‚Π΅ Β«ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΒ».

ПослС Ρƒ Вас откроСтся ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ собствСнно ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ VBA. НиТС прСдставлСн ΠΊΠΎΠ΄, я Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»:

Sub ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°()
'Книга
NewBook = ""
' ΠŸΡƒΡ‚ΡŒ, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ наши ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ
' Π’.Π΅. Π² Ρ‚ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΎΡ‚ΠΊΡƒΠ΄Π° запустился Ρ„Π°ΠΉΠ» с макросом
Path = ThisWorkbook.Path
' Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ лист с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
Sheets("Π”Π°Π½Π½Ρ‹Π΅").Select
' ЗапускаСм Ρ†ΠΈΠΊΠ», скаТСм Π½Π° 100000 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ
' Начиная со Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки, Π½Π΅ учитывая Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
For i = 2 To 100000
' Π’Ρ‹ΠΉΠ΄Π΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ закончатся, Ρ‚.Π΅. строки
If Cells(i, 1).Value = "" Then
        i = 100000
    Exit For
End If
' Имя Ρ„Π°ΠΉΠ»Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ
Name_file = Path & "\" & Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 1).Value & ".xls"
β€˜Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ лист с шаблоном
Sheets("Π¨Π°Π±Π»ΠΎΠ½").Select
' ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ значСния нашим ячСйкам, ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π·Π°Π΄Π°Π²Π°Π»ΠΈ
    Range("fio").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 1).Value & " " & _
        Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 2).Value & " " & Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 3).Value
    Range("number").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 4).Value
    Range("addres").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 5).Value
    Range("dolgn").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 6).Value
    Range("phone").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 7).Value
    Range("comment").Value = Sheets("Π”Π°Π½Π½Ρ‹Π΅").Cells(i, 8).Value
    ' ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ всС
    Cells.Select
    Selection.Copy
    ' Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ 
    If NewBook = "" Then
        Workbooks.Add
        NewBook = ActiveWorkbook.Name
    Else
        Workbooks(NewBook).Activate
        Cells(1, 1).Select
    End If
    ' ВставляСм Π΄Π°Π½Π½Ρ‹Π΅ Π² эту ΠΊΠ½ΠΈΠ³Ρƒ
    Application.DisplayAlerts = False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ' БохраняСм с нашим Π½ΠΎΠ²Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
    ActiveWorkbook.SaveAs Filename:= _
    Name_file, FileFormat:=xlExcel8, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
    NewBook = ActiveWorkbook.Name
    Application.DisplayAlerts = True
    ' Π‘Π½ΠΎΠ²Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» с макросом ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ лист
    Workbooks("ΠœΠ°ΠΊΡ€ΠΎΡ.xls").Activate
    Sheets("Π”Π°Π½Π½Ρ‹Π΅").Select
' ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС
Next i
' Π—Π°ΠΊΡ€ΠΎΠ΅ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ
Workbooks(NewBook).Close
' Π’Ρ‹Π²Π΅Π΄Π΅ΠΌ сообщСниС ΠΎΠ± ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ
MsgBox ("Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ!")
End Sub

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ этот макрос, для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ->макросы->Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ наш макрос:

ΠΈ послС выполнСния Ρƒ Вас Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ появится Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Π’ΠΎΡ‚ с Ρ‚Π°ΠΊΠΈΠΌ содСрТимым:

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

Нравится5НС нравится

VBA Excel. ГСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²

ГСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ· рССстра ΠΈΠ»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA для просмотра, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅.

НСт смысла Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ мноТСство Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Ссли ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ рССстры ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Excel, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ вся нСобходимая информация. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA Π² Π²ΠΈΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π° ΠΏΡ€ΠΈ нСобходимости ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ снова.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ· шаблона

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ рССстр Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Excel с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ шаблон (пСчатная Ρ„ΠΎΡ€ΠΌΠ°).

Π¨Π°Π±Π»ΠΎΠ½ создаСм Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Бпособы создания шаблона ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ мСсто Π΅Π³ΠΎ хранСния:

  • Π’ ΠΊΠΎΠ΄Π΅ VBA. Π’Π°ΠΊΠΎΠΉ способ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ для нСслоТных ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ.
  • Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ Excel с рССстром ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° скрытом листС.
  • Π’ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ шаблон Excel (*.xlt*).

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ шаблон Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° скрытом листС Π² ΠΊΠ½ΠΈΠ³Π΅ с рССстром ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΎΠΉ способ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв.

Из Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ†Π΅Π½Π½ΠΈΠΊΠΎΠ² Π½Π° основании Ρ‚ΠΎΠ²Π°Ρ€Π½ΠΎΠΉ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎΠΉ, сохранСнной Π² Excel. Π¨Π°Π±Π»ΠΎΠ½ Ρ†Π΅Π½Π½ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA приходится Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ открываСтся ΠΈ обрабатываСтся товарная накладная.

НазовСм лист с шаблоном Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° – Β«ShablonΒ». Для создания Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ скрытый лист с шаблоном Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

With Worksheets(«Shablon»)

Β Β .Visible = True

Β Β .Copy After:=Worksheets(Worksheets.Count)

Β Β .Visible = False

End With

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ вставит Π½ΠΎΠ²Ρ‹ΠΉ лист с шаблоном Π² Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Ρƒ послС всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ листов. Π§Ρ‚ΠΎΠ±Ρ‹ шаблон ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, замСняСм строку .Copy After:=Worksheets(Worksheets.Count) Π½Π° .Copy. ΠŸΠ΅Ρ‡Π°Ρ‚Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° откроСтся Π² Π½ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

Π‘Ρ€Π°Π·Ρƒ послС создания, ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ листу ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ (ActiveSheet), Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ скопирован Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, порядок дСйствий Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

  1. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива ΠΈΠ· рССстра ΠΈΠ»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ· шаблона.
  3. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π½Π΅ΠΌΡƒ ΠΊΠ°ΠΊ ΠΊ ActiveSheet.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранится Π² рССстрС ΠΈΠ»ΠΈ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Excel Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π² ΠΎΠ΄Π½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΈΠ»ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… строках.

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

Допустим, Ρ‡Ρ‚ΠΎ лист называСтся Β«ReestrΒ», Π° нСобходимая информация располоТСна Π² дСсяти ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ячСйках ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки:

Dim nomer As Long, massiv() As Variant

nomer = ActiveCell.Row

massiv = Range(Cells(nomer, 1), Cells(nomer, 10))

Если для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° трСбуСтся информация ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ столбцу ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Dim nomer1 As Long, nomer2 As Long, massiv() As Variant

nomer1 = Selection.Cells(1).Row

nomer2 = Selection.Cells(Selection.Cells.Count).Row

massiv = Range(Cells(nomer1, 1), Cells(nomer2, 10))

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

Если трСбуСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π΅ Π² массивС. Для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ информация скопирована ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π°, создаСм ΠΈΠ· шаблона ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, лист ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ послС создания Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

ЗаполняСм ячСйки ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· массива, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ листу с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠ°ΠΊ ΠΊ ActiveSheet. Если Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ создан Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Π΅, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ автоматичСски ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° мСрцаниями экрана Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ VBA Excel, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ обновлСния:

Sub GeneratsiyaDokumenta()

Application.ScreenUpdating = False

——- ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ——-

Application.ScreenUpdating = True

End Sub

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹

Если лист Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сохраняСтся Π² ΠΊΠ½ΠΈΠ³Ρƒ с рССстром ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ простоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· вывСдСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° лист шаблона ΠΏΡ€Π°Π²Π΅Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ActiveXΒ». Π”Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ ΠΈ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ листа Π²Π½ΡƒΡ‚Ρ€ΡŒ автоматичСски сгСнСрированного объявлСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ строку Call UdaleniyeLista:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA

Автор Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π―ΠΊΡƒΡˆΠ΅Π² На Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 3 ΠΌΠΈΠ½. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ² 3.3k.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ макрос: Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк ΠΈΠ· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа ΠΈ вставляСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.

Код макроса

Sub SozdatFajl()
'Π¨Π°Π³ 1 - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ с листа
Sheets("ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ").Range("B4:C15").Copy

'Π¨Π°Π³ 2 - создаСм Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
Workbooks.Add

'Π¨Π°Π³ 3 - вставляСм Π΄Π°Π½Π½Ρ‹Π΅
ActiveSheet.Paste Destination:=Range("A1")

'Π¨Π°Π³ 4 - ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ систСмныС сообщСния
Application.DisplayAlerts = False

'Π¨Π°Π³ 5 - сохраняСм ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ адрСсу
ActiveWorkbook.SaveAs _
Filename:="C:\ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹\ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈΠœΠ΅ΡΡΡ†.xlsx"

'Π¨Π°Π³ 6 - Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ систСмныС сообщСния
Application.DisplayAlerts = True
End Sub

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄

  1. ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ячССк B4:Π‘15. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ адрСс с ΠΈΠΌΠ΅Π½Π΅ΠΌ листа ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ошибки, Ссли Ρƒ Вас ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Excel ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Add ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ самоС, Ссли Π±Ρ‹ ΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π°ΠΆΠ°Π»ΠΈ Π€Π°ΠΉΠ»βžœΠ‘ΠΎΠ·Π΄Π°Ρ‚ΡŒβžœΠΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚
  3. На этом этапС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Paste, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ скопировали Π² ячСйку А1 Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ссылаСтся Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β  ActiveSheet. ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π° Ρ‚ΡƒΡ‚ ΠΆΠ΅ становится Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ. Если Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‚ΠΎ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист Π² Π½ΠΎΠ²ΠΎΠΉ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной) ΠΊΠ½ΠΈΠ³Π΅.
  4. Π”Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ DisplayAlerts. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство False β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ систСмныС прСдупрСТдСния Excel. МоТно этого Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот макрос нСсколько Ρ€Π°Π·, ΠΈ Π² этом случаС Excel Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» нСсколько Ρ€Π°Π·. Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ нСсколько Ρ€Π°Π·? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ β€” Excel ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚: Β«Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»?Β». Если ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Excel ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сохранСнии ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π» нас β€” подавляСм это ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
  5. БохраняСм Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SaveAs. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ пишСм ΠΏΠΎΠ»Π½Ρ‹ΠΉ адрСс, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ имя Ρ„Π°ΠΉΠ»Π° с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (ΠΏΡ€ΠΈ сохранСнии Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол
    ActiveWorkbook.SaveAs CreateObject(Β«WScript.ShellΒ»). SpecialFolders(Β«DesktopΒ») & Β«\ΠžΡ‚Ρ‡Π΅Ρ‚ Π½Π° 2016.xlsxΒ»).
  6. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ систСмныС сообщСния Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 4, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Excel Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π°Π²Π»ΡΡ‚ΡŒ всС прСдупрСТдСния, Ρ‡Ρ‚ΠΎ Π½Π΅
    допустимо.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого макроса, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

  1. АктивируйтС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Visual Basic, Π½Π°ΠΆΠ°Π² ALT + F11.
  2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° / Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Insert➜Module.
  4. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ Π²ΠΎ вновь созданном ΠΌΠΎΠ΄ΡƒΠ»Π΅.
  5. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя листа, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк, ΠΈ мСсто сохранСния Ρ„Π°ΠΉΠ»Π°.

Код VBA

для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ листа ΠΈΠ· шаблона ΠΈ пСрСимСнования Π΅Π³ΠΎ ΠΈΠ· списка

  ΠžΠΏΡ†ΠΈΡ Явная

Sub SheetsFromTemplate ()
Π”ΠΆΠ΅Ρ€Ρ€ΠΈ Π‘ΠΎΠΊΠ΅Ρ€ - 22 октября 2014 Π³.
'Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΉ шаблона листа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ тСкст Π½Π° мастСр-листС Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ столбцС
'Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈΠΌΠ΅Π½ΠΈ листа исправлСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UDF Π½ΠΈΠΆΠ΅
Dim wsMASTER ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wsTEMP ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wasVISIBLE ΠΊΠ°ΠΊ логичСскоС
Dim shNAMES ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Nm ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, NmSTR ΠΊΠ°ΠΊ строка

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ThisWorkbook 'ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡŒΡ‚Π΅ΡΡŒ Π½Π° этой ΠΊΠ½ΠΈΠ³Π΅
    УстановитС wsTEMP =.Листы ("Π¨Π°Π±Π»ΠΎΠ½") 'лист для копирования
    wasVISIBLE = (wsTEMP.Visible = xlSheetVisible) 'ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, скрыт ΠΎΠ½ ΠΈΠ»ΠΈ Π½Π΅Ρ‚
    Если Not wasVISIBLE, Ρ‚ΠΎ wsTEMP.Visible = xlSheetVisible 'ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ
    
    Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ лист wsMASTER = .Sheets ("Master") с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
                                                                'Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для поиска ΠΈΠΌΠ΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
    УстановитС shNAMES = wsMASTER.Range ("B3: B" & Rows.Count) .SpecialCells (xlConstants) 'ΠΈΠ»ΠΈ xlFormulas
    
    Заявка.ScreenUpdating = False 'макрос ускорСния
    Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Nm In shNAMES провСряйтС ΠΎΠ΄Π½ΠΎ имя Π·Π° Ρ€Π°Π·
        NmSTR = FixStringForSheetName (CStr (Nm.Text)) 'ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UDF для создания допустимого ΠΈΠΌΠ΅Π½ΠΈ листа
        If Not Evaluate ("ISREF ('" & NmSTR & "'! A1)") Then ', Ссли лист Π½Π΅ сущСствуСт ...
            wsTEMP.Copy After: =. Sheets (.Sheets.Count) '... ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· шаблона
            ActiveSheet.Name = NmSTR '...Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ это
        ΠšΠΎΠ½Π΅Ρ†, Ссли
    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Нм
    
    wsMASTER.Activate 'Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ мастСр-листу
    Если Not wasVISIBLE, Ρ‚ΠΎ wsTEMP.Visible = xlSheetHidden 'ΠΏΡ€ΠΈ нСобходимости ΡΠΊΡ€Ρ‹Ρ‚ΡŒ шаблон
    Application.ScreenUpdating = True 'ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ экран ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΠΊΠΎΠ½Ρ†Π΅
ΠšΠΎΠ½Π΅Ρ† с

MsgBox «ВсС листы созданы»
ΠšΠΎΠ½Π΅Ρ† подписки


Ѐункция FixStringForSheetName (shSTR ΠΊΠ°ΠΊ строка) ΠΊΠ°ΠΊ строка

'Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ символ Ρ‡Π΅ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, ":", "")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "?", "")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "*", "")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "/", "-")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "\", "-")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "[", "(")
    shSTR = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (shSTR, "]", ")")

'ΠΈΠΌΠ΅Π½Π° листов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· 31 символа
    FixStringForSheetName = ΠžΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ (слСва (shSTR, 31))

ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция  

.

Π Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ с использованиСм Excel VBA (объяснСниС с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Помимо ячССк ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π° с листами — Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VBA Π² Excel.

Как ΠΈ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² VBA, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, связанныС с Π½ΠΈΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с VBA Π² Excel.

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

Π˜Ρ‚Π°ΠΊ, приступим.

ВсС ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽ Π² этом руководствС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VB. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Β«Π“Π΄Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ VBAΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ VBA простым способом, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΌΠΎΠΈΠΌ курсом Online Excel VBA Training .

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ листами ΠΈ листами Π² VBA

Π’ VBA Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ.

Π’ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы, Ρ‚Π°ΠΊ ΠΈ листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ листа ΠΈ ΠΎΠ΄ΠΈΠ½ лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Π’ Excel VBA:

  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Β«Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π² ΠΊΠ½ΠΈΠ³Π΅. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ коллСкция Worksheets Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов.
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Β«Π’Π°Π±Π»ΠΈΡ†Ρ‹Β» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊΠΎ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта — 3 листа + 1 лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ рабочая ΠΊΠ½ΠΈΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ΠΈ Π½Π΅Ρ‚ листов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Β«Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы» ΠΈ Β«Π’Π°Π±Π»ΠΈΡ†Ρ‹Β» Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ.

Но ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько листов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, коллСкция Β«Π’Π°Π±Π»ΠΈΡ†Ρ‹Β» Π±ΡƒΠ΄Π΅Ρ‚ большС, Ρ‡Π΅ΠΌ коллСкция Β«Π’Π°Π±Π»ΠΈΡ†Ρ‹Β»

листов = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы + Π’Π°Π±Π»ΠΈΡ†Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, учитывая это Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° VBA.

Π˜Ρ‚Π°ΠΊ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° листы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Β«Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы», Π° Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° всС листы (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ «Листы».

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Β«Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы».

Бсылка Π½Π° лист Π² VBA

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… способов обращСния ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу Π² VBA.

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΊΠΎΠ΄, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π² ΠΊΠΎΠ΄Π΅ VBA.

ИспользованиС ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ имя.

НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ рабочая ΠΊΠ½ΠΈΠ³Π° с трСмя листами — Лист 1, Лист 2, Лист 3.

И Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Лист 2.

 Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

Sub ActivateSheet ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист2"). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ просит VBA ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Sheet2 Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ имя листа, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ здСсь ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ листов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС.

 Sub ActivateSheet ()
Π’Π°Π±Π»ΠΈΡ†Ρ‹ ("Лист2"). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ИспользованиС порядкового Π½ΠΎΠΌΠ΅Ρ€Π°

Π₯отя использованиС ΠΈΠΌΠ΅Π½ΠΈ листа — это простой способ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° лист, ΠΈΠ½ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ имя листа.

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

Π’ этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ порядковый Π½ΠΎΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ листы:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Sheet2:

 Sub ActivateSheet ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (2) .ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ использовали порядковый Π½ΠΎΠΌΠ΅Ρ€ 2 Π² Π Π°Π±ΠΎΡ‡ΠΈΡ… листах (2) .Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π² Π½Π°Π±ΠΎΡ€Π΅ листов.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ 3 Π² качСствС порядкового Π½ΠΎΠΌΠ΅Ρ€Π°?

Π‘ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Sheet3.

Если Π²Π°ΠΌ интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π²Ρ‹Π±Ρ€Π°Π» Sheet3, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это явно Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ листов.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° индСксов Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы Π² ΠΊΠ½ΠΈΠ³Π΅ (ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ).

Напротив, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Sheets, Sheets (1) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Sheets1, Sheets (2) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Sheet2, Sheets (3) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Chart1, Π° Sheets (4) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Sheet3.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ΄Π΅Ρ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ пСрСмСститС Sheet2 Π²Π»Π΅Π²ΠΎ ΠΎΡ‚ Sheet1, Ρ‚ΠΎΠ³Π΄Π° Worksheets (1) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Sheet2.

ИспользованиС ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

Одним ΠΈΠ· нСдостатков использования ΠΈΠΌΠ΅Π½ΠΈ листа (ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ΡˆΠ΅) являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

И Ссли имя листа Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, ваш ΠΊΠΎΠ΄ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя листа Π² ΠΊΠΎΠ΄Π΅ VBA.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (вмСсто ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ использовали Π΄ΠΎ сих ΠΏΠΎΡ€).КодовоС имя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VB Editor, ΠΈ ΠΎΠ½ΠΎ Π½Π΅ мСняСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ листа Π² области Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ листу ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.
  2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Visual Basic. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VB.
  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² мСню ΠΏΡƒΠ½ΠΊΡ‚ Β«ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Β» ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ «Окно ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β». Π­Ρ‚ΠΎ сдСлаСт Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ панСль свойств. Если панСль «Бвойства» ΡƒΠΆΠ΅ отобраТаСтся, пропуститС этот шаг.
  4. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ имя листа Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ.
  5. На ΠΏΠ°Π½Π΅Π»ΠΈ «Бвойства» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя Π² ΠΏΠΎΠ»Π΅ ΠΏΠ΅Ρ€Π΅Π΄ (Имя). Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ шаги измСнят имя вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π² сСрвСрной части VBA. Π’ прСдставлСнии листа Excel Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ лист ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ Π² сСрвСрной части ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Π° ΠΈΠΌΠ΅Π½ΠΈ — имя листа ΠΈ имя ΠΊΠΎΠ΄Π°.

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ имя листа — Β«SheetNameΒ», Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя — Β«CodeNameΒ».Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя листа Π½Π° листС, ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя останСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Worksheets для ссылки Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя.

НапримСр, ΠΎΠ±Π΅ строки Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист.

 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов («Имя листа»). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
CodeName.Activate 

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Но вторая строка ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π° Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.Вторая строка (с использованиСм CodeName) Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Π² использовании.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ листу Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, эта ΠΊΠ½ΠΈΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π²ΠΎ врСмя выполнСния ΠΊΠΎΠ΄Π°, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ.

НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Лист1 Π² ΠΊΠ½ΠΈΠ³Π΅ ΠŸΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ лист ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΈ ("ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.xlsx "). Worksheets (" Sheet1 "). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли рабочая ΠΊΠ½ΠΈΠ³Π° Π±Ρ‹Π»Π° сохранСна, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° вмСстС с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠ΅ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² Project Explorer.

Π’ случаС, Ссли ΠΊΠ½ΠΈΠ³Π° Π½Π΅ Π±Ρ‹Π»Π° сохранСна, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист (ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ лист Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ листа).

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ВрСбуСтся имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Sheet2 (ΠΈΠ»ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько листов ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ).

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ листом (скаТСм, Sheet2), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄.

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ()
Worksheets.Add Before: = Worksheets ("Sheet2")
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ сообщаСт VBA ΠΎ нСобходимости Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ лист, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«Π”ΠΎΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ лист послС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (скаТСм, Sheet2), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ послС: = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист2")
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹ΠΉ лист Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΊΠΎΠ½Π΅Ρ† листов, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько листов Ρ‚Π°ΠΌ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ сначала подсчитываСт количСство листов, Π° Π½ΠΎΠ²Ρ‹ΠΉ лист добавляСт послС послСднСго листа (Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ссылаСмся, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΎΠΌΠ΅Ρ€ индСкса).

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ()
Dim SheetCount ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
SheetCount = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ послС: = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (SheetCount)
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΡƒΠ΄Π°Π»ΠΈΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ.

 Sub DeleteSheet ()
ActiveSheet.Delete
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 Sub DeleteSheet ()
Application.DisplayAlerts = False
ActiveSheet.ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ
ActiveWindow.SelectedSheets.Delete
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Если для Application.DisplayAlerts Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. Если Π²Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ Π² True Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π°.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄, Ссли Π²Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ лист, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

 Sub DeleteSheet ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист2"). Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

 Sub DeleteSheet ()
Лист5. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойство ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ имя.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ имя Sheet1 Π½Π° Β«SummaryΒ».

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСимСнования ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Sheet1"). Name = "Summary"
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ это с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ добавлСния листов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ листов с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ листа с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ 2018 Q1, 2018 Q2, 2018 Q3 ΠΈ 2018 Q4, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄.

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСимСнования ()
ВусклыС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа
Countsheets = Worksheets.Count
Для i = ΠΎΡ‚ 1 Π΄ΠΎ 4
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ послС: = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (Π’Π°Π±Π»ΠΈΡ†Ρ‹ + i - 1)
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (Π’Π°Π±Π»ΠΈΡ†Ρ‹ + i) .Name = "2018 Q" & i
Π”Π°Π»Π΅Π΅ я
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ сначала подсчитываСм количСство листов, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» For Next для вставки Π½ΠΎΠ²Ρ‹Ρ… листов Π² ΠΊΠΎΠ½Ρ†Π΅. По ΠΌΠ΅Ρ€Π΅ добавлСния листа ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ.

НазначСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с листами Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто ссылок Π½Π° лист.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прСфикс Π³ΠΎΠ΄Π° ΠΊΠΎ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам, вмСсто подсчСта листов ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ выполнСния Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π’ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ 2018 Π² качСствС прСфикса ΠΊΠΎ всСм ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСимСнования ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ W Π² листах
Ws.Name = "2018 -" & Ws.Name
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ Π² качСствС Ρ‚ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ пСрСмСнная Ws (с использованиСм строки Β«Dim Ws As WorksheetΒ»).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ количСство листов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. ВмСсто этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» «Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ W Π² листах». Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС листы Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ листов. НСваТно, 2 листа ΠΈΠ»ΠΈ 20 листов.

Π₯отя ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ позволяСт Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС листы, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ лист ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ws для Sheet2 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π΅ для доступа ΠΊΠΎ всСм свойствам Sheet2.

 Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСимСнования ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ws = Worksheets ("Sheet2")
Ws.Name = "Π‘Π²ΠΎΠ΄ΠΊΠ°"
Ws.Protect
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ws ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° Worksheet (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ строку Dim Ws ΠΊΠ°ΠΊ Worksheet).

Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA (скрытый + ΠΎΡ‡Π΅Π½ΡŒ скрытый)

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ листов Π² Excel — простая Π·Π°Π΄Π°Ρ‡Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ / ΠΎΠ½Π° ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΊΠ½ΠΈΠ³Ρƒ. Однако ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° любой Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ листа.

Но Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ лист (Ρ‹).

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ скроСт всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы Π² ΠΊΠ½ΠΈΠ³Π΅ (ΠΊΡ€ΠΎΠΌΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ смоТСтС ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΡ…, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ имя листа.

 ПодлоТка HideAllExcetActiveSheet ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ W Π² ThisWorkbook.Worksheets
Если Ws.Name <> ActiveSheet.Name, Ρ‚ΠΎ Ws.Visible = xlSheetVeryHidden
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ свойство Ws.Visible ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° xlSheetVeryHidden .

  • Если для свойства Visible Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xlSheetVisible, лист отобраТаСтся Π² области Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (ΠΊΠ°ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа).
  • Если для свойства Visible Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xlSheetHidden, лист скрыт, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° любой Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ листа.
  • Если для свойства Visible Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xlSheetVeryHidden, лист скрыт ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ ΠΈΠ· области Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎ свойств, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто ΡΠΊΡ€Ρ‹Ρ‚ΡŒ листы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 Sub HideAllExceptActiveSheet ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ W Π² ThisWorkbook.Worksheets
Если Ws.Name <> ActiveSheet.Name, Ρ‚ΠΎ Ws.Visible = xlSheetHidden
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (ΠΊΠ°ΠΊ скрытыС, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ скрытыС).

 Sub UnhideAllWoksheets ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ W Π² ThisWorkbook.Worksheets
Ws.Visible = xlSheetVisible
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 
  Бвязанная ΡΡ‚Π°Ρ‚ΡŒΡ : ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС листы Π² Excel (Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·) 

Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ листы Π½Π° основС тСкста Π² Π½Π΅ΠΌ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько листов с названиями Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ‚Π΄Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ Π»Π΅Ρ‚, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ всС листы, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½ 2018 Π³ΠΎΠ΄.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA INSTR.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ скроСт всС листы, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ тСкст 2018.

 ПодлоТка HideWithMatchingText ()
Dim Ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ W Π² листах
Если InStr (1, Ws.Name, Β«2018Β», vbBinaryCompare) = 0, Ρ‚ΠΎ
Ws.Visible = xlSheetHidden
ΠšΠΎΠ½Π΅Ρ†, Ссли
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ функция INSTR Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ символа, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку. Если подходящСй строки Π½Π΅ удаСтся Π½Π°ΠΉΡ‚ΠΈ, возвращаСтся 0.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ провСряСт, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ тСкст 2018. Если это Ρ‚Π°ΠΊ, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит, ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист скрыт.

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° листов Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VBA, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ быстро ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ листы ΠΏΠΎ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ.

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

 Sub SortSheetsTabName ()
Application.ScreenUpdating = False
Dim ShCount ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число, i ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅, j ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅
ShCount = Sheets.Count
Для i = 1 To ShCount - 1
Для j = i + 1 To ShCount
Если Sheets (j) .Name 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с тСкстовыми ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв с Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΈ числами. Но это ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° листов 1,2,11. Он отсортируСт ΠΈ выдаст Π²Π°ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1, 11, 2. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выполняСт сравнСниС ΠΊΠ°ΠΊ тСкст ΠΈ считаСт, Ρ‡Ρ‚ΠΎ 2 большС 11.

Π—Π°Ρ‰ΠΈΡ‚Π° / снятиС Π·Π°Ρ‰ΠΈΡ‚Ρ‹ со всСх листов Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·

Если Ρƒ вас ΠΌΠ½ΠΎΠ³ΠΎ листов Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ всС листы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ VBA.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ понадобится Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ с листа.

 Sub ProtectAllSheets ()
Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Вусклый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊΠ°ΠΊ строка
password = "Test123" 'Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Test123 ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ
Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² листах
ws.Protect ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: = ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ снимСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ со всСх листов Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

 Sub ProtectAllSheets ()
Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
Вусклый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊΠ°ΠΊ строка
password = "Test123" 'Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Test123 Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали ΠΏΡ€ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π΅
Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² листах
ws.Π‘Π½ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: = ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ws
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ оглавлСния всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов (с гипСрссылками)

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ быстро Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сводный лист со ссылками Π½Π° всС листы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄.

 Sub AddIndexSheet ()
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ
ActiveSheet.Name = "ИндСкс"
Для i = 2 To Worksheets.Count
ActiveSheet.Hyperlinks.Add Anchor: = Cells (i - 1, 1), _
АдрСс: = "", Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс: = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (i).Имя & "! A1", _
TextToDisplay: = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (i). Имя
Π”Π°Π»Π΅Π΅ я
ΠšΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π½ΠΈΠΊ 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ вставляСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ Index.

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ просматриваСт всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ΠΈ создаСт гипСрссылки для всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π½Π° индСксном листС.

Π“Π΄Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ VBA

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится ΠΊΠΎΠ΄ VBA Π² вашСй ΠΊΠ½ΠΈΠ³Π΅ Excel?

Excel ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ VBA, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ VBA. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ΄Π° модуля VB Editor.

Π’ΠΎΡ‚ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.
  2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Visual Basic. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VB Π² бэкэндС.
  3. Π’ ΠΏΠ°Π½Π΅Π»ΠΈ Project Explorer Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VB Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ½ΠΈΠ³ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄. Если Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Project Explorer, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ View ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Project Explorer.
  4. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ "Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ" ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ "ΠœΠΎΠ΄ΡƒΠ»ΡŒ". Π­Ρ‚ΠΎ вставит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ модуля для вашСй ΠΊΠ½ΠΈΠ³ΠΈ.
  5. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½ΠΎ модуля.

Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ руководства ΠΏΠΎ Excel VBA:

.

18 Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… макросов VBA Excel

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ

  • Главная
  • Π‘Π»ΠΎΠ³

  • ru:

.

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

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