Π Π°Π·Π½ΠΎΠ΅

Sheets vba excel: ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Sheets (Excel) | Microsoft Docs

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Sheets (Excel) | Microsoft Docs



  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ всСх листов Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.A collection of all the sheets in the specified or active workbook.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡRemarks

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ листа .The Sheets collection can contain Chart or Worksheet objects.

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets ΠΏΠΎΠ»Π΅Π·Π½Π°, Ссли трСбуСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ листы любого Ρ‚ΠΈΠΏΠ°.The Sheets collection is useful when you want to return sheets of any type. Если трСбуСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с листами Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для этого Ρ‚ΠΈΠΏΠ° листа.If you need to work with sheets of only one type, see the object topic for that sheet type.

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Sheets ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Sheets .Use the Sheets property of the Workbook object to return the Sheets collection. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ всСх листов Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.The following example prints all sheets in the active workbook.

Sheets.PrintOut

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Add , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.Use the Add method to create a new sheet and add it to the collection. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π΄Π²Π° листа с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, размСстив ΠΈΡ… послС листа 2 Π² ΠΊΠ½ΠΈΠ³Π΅.The following example adds two chart sheets to the active workbook, placing them after sheet two in the workbook.

Sheets.Add type:=xlChart, count:=2, after:=Sheets(2)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Sheets (index), Π³Π΄Π΅ index β€” это имя листа ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ индСкса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ листа .Use Sheets (index), where index is the sheet name or index number, to return a single Chart or Worksheet object. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ активируСтся лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ Лист1.The following example activates the sheet named Sheet1.

Sheets("Sheet1").Activate

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ листы (Array), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько листов.Use Sheets (array) to specify more than one sheet. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ листы с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Sheet4 ΠΈ Sheet5 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ.The following example moves the sheets named Sheet4 and Sheet5 to the beginning of the workbook.

Sheets(Array("Sheet4", "Sheet5")).Move before:=Sheets(1)

MethodsMethods

БвойстваProperties

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅See also

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связьSupport and feedback

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Office VBA ΠΈΠ»ΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ?Have questions or feedback about Office VBA or this documentation? Руководство ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способам получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Office VBA ΠΈ обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.



VBA Excel. Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист (созданиС, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅)

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° VBA. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Sheets.Add, Worksheet.Copy, Worksheet.Move ΠΈ Worksheet.Delete.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… листов

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Sheets.Add.

Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Sheets.Add

expression.Add [Before, After, Count, Type]

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Sheet.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Sheets.Add

  • Before* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ.
  • After* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ.
  • Count – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, сколько листов Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – 1).
  • Type – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ листа: xlWorksheet** (Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист) ΠΈΠ»ΠΈ xlChart (Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°), ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – xlWorksheet.

*Если Before ΠΈ After Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, Π½ΠΎΠ²Ρ‹ΠΉ лист, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ листом.

**Для создания Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (xlWorksheet) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Worksheets.Add, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ для создания Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ создания листов

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

‘Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа:

Sheets.Add

Worksheets.Add

ThisWorkbook.Sheets.Add After:=ActiveSheet, Count:=2

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Sheets.Add After:=Лист1

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Sheets.Add After:=Worksheets(1)

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Sheets.Add After:=Worksheets(«Π›ΠΈΡΡ‚1»)

Β 

‘Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ листа с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ:

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Sheets.Add.Name = «ΠœΠΎΠΉ Π½ΠΎΠ²Ρ‹ΠΉ лист»

Β 

‘Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹:

Sheets.Add Type:=xlChart

Β 

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

‘послСдним листом Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Sheets.Add Before:=Worksheets(Worksheets.Count)

Β 

‘Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ листа Π² ΠΊΠΎΠ½Π΅Ρ†

Sheets.Add After:=Worksheets(Worksheets.Count)

  • Лист1 Π² After:=Лист1 – это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя листа, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA Π±Π΅Π· скобок.
  • Лист1 Π² After:=Worksheets(«Лист1Β») – это имя Π½Π° ярлыкС листа, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA Π² скобках.

Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ лист ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Dim myList As Object

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

Set myList = Worksheets.Add

‘Π’ ΠΊΠ½ΠΈΠ³Π΅ «Книга1.xlsmΒ»

Set myList = Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Worksheets.Add

‘Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

myList.Name = «Listok1»

myList.Cells(1, 1) = myList.Name

‘ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

Set myList = Nothing

Если создаваСмый лист присваиваСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ листом. Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ листов

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Copy.

Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Copy

expression.Copy [Before, After]

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Copy

  • Before* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° копия.
  • After* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° копия.

*Если Before ΠΈ After Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, Excel создаст Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ помСстит копию листа Π² Π½Π΅Π΅. Если скопированный лист содСрТит ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ VBA (Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ листа), ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСнСсСн Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ копирования листов

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

‘Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

‘(ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° листов)

Лист1.Copy After:=Лист2

Β 

‘Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

‘(ΠΈΠΌΠ΅Π½Π° листов Π½Π° ярлычках)

Worksheets(«Π›ΠΈΡΡ‚1»).Copy Before:=Worksheets(«Π›ΠΈΡΡ‚2»)

Β 

‘Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ копию Π² ΠΊΠΎΠ½Π΅Ρ†:

Лист1.Copy After:=Worksheets(Worksheets.Count)

Β 

‘Из ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Worksheets(«Π›ΠΈΡΡ‚1»).Copy _

After:=Workbooks(«ΠšΠ½ΠΈΠ³Π°2.xlsm»).Worksheets(«Π›ΠΈΡΡ‚1»)

Β 

‘Один лист Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

Лист1.Copy

Β 

‘ВсС листы ΠΊΠ½ΠΈΠ³ΠΈ с ΠΊΠΎΠ΄ΠΎΠΌ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

ThisWorkbook.Worksheets.Copy

Если Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks, Π² Ρ‚ΠΎΠΌ числС ActiveWorkbook ΠΈ ThisWorkbook, листы Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets, использованиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ листов

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Move.

Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Move

expression.Move [Before, After]

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Move

  • Before* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ лист.
  • After* – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Variant, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° лист, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ лист.

*Если Before ΠΈ After Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, Excel создаст Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ пСрСмСстит лист Π² Π½Π΅Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ пСрСмСщСния листов

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

‘Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

‘(ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° листов)

Лист1.Move After:=Лист2

Β 

‘Π’ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

‘(ΠΈΠΌΠ΅Π½Π° листов Π½Π° ярлычках)

Worksheets(«Π›ΠΈΡΡ‚1»).Move Before:=Worksheets(«Π›ΠΈΡΡ‚2»)

Β 

‘Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ послС послСднСго листа:

Лист1.Move After:=Worksheets(Worksheets.Count)

Β 

‘Из ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Worksheets(«Π›ΠΈΡΡ‚1»).Move _

After:=Workbooks(«ΠšΠ½ΠΈΠ³Π°2.xlsm»).Worksheets(«Π›ΠΈΡΡ‚1»)

Β 

‘Π’ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

Лист1.Move

Если Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks, Π² Ρ‚ΠΎΠΌ числС ActiveWorkbook ΠΈ ThisWorkbook, листы Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets, использованиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ листов

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Delete

Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Worksheet.Delete

expression.Delete

Π³Π΄Π΅ expression – пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ удалСния листов

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

Лист1.Delete

Β 

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

Worksheets(«Π›ΠΈΡΡ‚1»).Delete

Β 

‘По индСксу листа

Worksheets(1).Delete

Β 

‘Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅

Workbooks(«ΠšΠ½ΠΈΠ³Π°1.xlsm»).Worksheets(«Π›ΠΈΡΡ‚1»).Delete

Если Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks, Π² Ρ‚ΠΎΠΌ числС ActiveWorkbook ΠΈ ThisWorkbook, листы Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets, использованиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ листа (Excel) | Microsoft Docs



  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ лист.Represents a worksheet.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡRemarks

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ листа являСтся элСмСнтом ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ листы .The Worksheet object is a member of the Worksheets collection. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ листы содСрТит всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ листа Π² ΠΊΠ½ΠΈΠ³Π΅.The Worksheets collection contains all the Worksheet objects in a workbook.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ листа Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Sheets .The Worksheet object is also a member of the Sheets collection. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets содСрТит всС листы Π² ΠΊΠ½ΠΈΠ³Π΅ (листы ΠΈ листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹).The Sheets collection contains all the sheets in the workbook (both chart sheets and worksheets).

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ листы (индСкс), Π³Π΄Π΅ индСкс β€” это Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ имя индСкса листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа .Use Worksheets (index), where index is the worksheet index number or name, to return a single Worksheet object. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ лист ΠΎΠ΄ΠΈΠ½ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.The following example hides worksheet one in the active workbook.

Worksheets(1).Visible = False

НомСр индСкса листа ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ листа Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΊΠ½ΠΈΠ³ΠΈ.The worksheet index number denotes the position of the worksheet on the workbook’s tab bar. Worksheets(1)β€” Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ) лист Π² ΠΊΠ½ΠΈΠ³Π΅, Worksheets(Worksheets.Count) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся послСдним.Worksheets(1) is the first (leftmost) worksheet in the workbook, and Worksheets(Worksheets.Count) is the last one. ВсС листы Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² число индСксов, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ скрыты.All worksheets are included in the index count, even if they are hidden.

Имя листа отобраТаСтся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ листа.The worksheet name is shown on the tab for the worksheet. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Name , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ имя листа.Use the Name property to set or return the worksheet name. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ сцСнарии Π½Π° листС Sheet1.The following example protects the scenarios on Sheet1.

 
Dim strPassword As String 
strPassword = InputBox ("Enter the password for the worksheet") 
Worksheets("Sheet1").Protect password:=strPassword, scenarios:=True

Когда лист являСтся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ листом, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство Π°ΠΊΡ‚ΠΈΠ²Π΅ΡˆΠΈΡ‚ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ.When a worksheet is the active sheet, you can use the ActiveSheet property to refer to it. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Activate для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Лист1, устанавливаСтся альбомная ориСнтация страницы, Π° Π·Π°Ρ‚Π΅ΠΌ лист пСчатаСтся.The following example uses the Activate method to activate Sheet1, sets the page orientation to landscape mode, and then prints the worksheet.

Worksheets("Sheet1").Activate 
ActiveSheet.PageSetup.Orientation = xlLandscape 
ActiveSheet.PrintOut

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ использованиС события Π±Π΅Ρ„ΠΎΡ€Π΅Π΄Π°ΡƒΠ±Π»Π΅ΠΊΠ»ΠΈΠΊΠΊ для открытия ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅.This example uses the BeforeDoubleClick event to open a specified set of files in Notepad. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€, лист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅:To use this example, your worksheet must contain the following data:

  • Π―Ρ‡Π΅ΠΉΠΊΠ° a1 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹, ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятой ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.Cell A1 must contain the names of the files to open, each separated by a comma and a space.
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D1 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°.Cell D1 must contain the path to where the Notepad files are located.
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D2 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°.Cell D2 must contain the path to where the Notepad program is located.
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D3 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° (Π±Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ) для Ρ„Π°ΠΉΠ»ΠΎΠ² «Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π°» (txt).Cell D3 must contain the file extension, without the period, for the Notepad files (txt).

ΠŸΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ячСйки a1 Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ячСйкС a1, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅.When you double-click cell A1, the files specified in cell A1 are opened in Notepad.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   'Define your variables.
   Dim sFile As String, sPath As String, sTxt As String, sExe As String, sSfx As String
   
   'If you did not double-click on A1, then exit the function.
   If Target.Address <> "$A$1" Then Exit Sub
   
   'If you did double-click on A1, then override the default double-click behavior with this function.
   Cancel = True
   
   'Set the path to the files, the path to Notepad, the file extension of the files, and the names of the files,
   'based on the information on the worksheet.
   sPath = Range("D1").Value
   sExe = Range("D2").Value
   sSfx = Range("D3").Value
   sFile = Range("A1").Value
   
   'Remove the spaces between the file names.
   sFile = WorksheetFunction.Substitute(sFile, " ", "")
   
   'Go through each file in the list (separated by commas) and
   'create the path, call the executable, and move on to the next comma.
   Do While InStr(sFile, ",")
      sTxt = sPath & "\" & Left(sFile, InStr(sFile, ",") - 1) & "." & sSfx
      If Dir(sTxt) <> "" Then Shell sExe & " " & sTxt, vbNormalFocus
      sFile = Right(sFile, Len(sFile) - InStr(sFile, ","))
   Loop
   
   'Finish off the last file name in the list
   sTxt = sPath & "\" & sFile & "." & sSfx
   If Dir(sTxt) <> "" Then Shell sExe & " " & sTxt, vbNormalNoFocus
End Sub

БобытияEvents

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹Methods

БвойстваProperties

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅See also

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связьSupport and feedback

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Office VBA ΠΈΠ»ΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ?Have questions or feedback about Office VBA or this documentation? Руководство ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способам получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Office VBA ΠΈ обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.



ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Excel — Microsoft Excel для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π’Π΅Ρ€ΠΌΠΈΠ½ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Excel (ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Excel) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя элСмСнты, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит любая рабочая ΠΊΠ½ΠΈΠ³Π° Excel. Π­Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (Worksheets), строки (Rows), столбцы (Columns), Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ячССк (Ranges) ΠΈ сама рабочая ΠΊΠ½ΠΈΠ³Π° Excel (Workbook) Π² Ρ‚ΠΎΠΌ числС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Excel ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ.

НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet (Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист) ΠΈΠΌΠ΅Π΅Ρ‚ свойства Name (имя), Protection (Π·Π°Ρ‰ΠΈΡ‚Π°), Visible (Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ), Scroll Area (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ) ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π² процСссС выполнСния макроса трСбуСтся ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Ρ‚ΠΎ достаточно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойство Visible этого листа.

Π’ Excel VBA сущСствуСт особый Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – коллСкция. Как ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΈΠ· названия, коллСкция ссылаСтся Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ (ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Excel. НапримСр, коллСкция Rows – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий всС строки Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

Доступ ΠΊΠΎ всСм основным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Excel ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ осущСствлён (прямо ΠΈΠ»ΠΈ косвСнно) Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbooks, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³. КаТдая рабочая ΠΊΠ½ΠΈΠ³Π° содСрТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Sheets – коллСкция, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ΠΈ листы с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet состоит ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Rows – Π² Π½Π΅Ρ‘ входят всС строки Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Columns – всС столбцы Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Excel. ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Excel VBA ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° сайтС Microsoft Office Developer (Π½Π° английском).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ApplicationΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Excel.
WorkbooksΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Excel. Доступ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ осущСствлён Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbooks ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числового индСкса Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Workbooks(1) ΠΈΠ»ΠΈ Workbooks(β€œΠšΠ½ΠΈΠ³Π°1”).
WorkbookΠžΠ±ΡŠΠ΅ΠΊΡ‚ Workbook – это рабочая ΠΊΠ½ΠΈΠ³Π°. Доступ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Workbooks ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числового индСкса ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (см. Π²Ρ‹ΡˆΠ΅). Для доступа ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ActiveWorkbook.

Из ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Sheets, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ всСх листов Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Worksheets, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт ΠΈΠ· сСбя ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов ΠΊΠ½ΠΈΠ³ΠΈ Excel.

SheetsΠžΠ±ΡŠΠ΅ΠΊΡ‚ Sheets– это коллСкция всСх листов Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ листС. Доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ листу ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Sheets ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числового индСкса листа ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Sheets(1) ΠΈΠ»ΠΈ Sheets(β€œΠ›ΠΈΡΡ‚1”).
WorksheetsΠžΠ±ΡŠΠ΅ΠΊΡ‚ Worksheets – это коллСкция всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, всС листы, ΠΊΡ€ΠΎΠΌΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ листС). Доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheets ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числового индСкса Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Worksheets(1) ΠΈΠ»ΠΈ Worksheets(β€œΠ›ΠΈΡΡ‚1”).
WorksheetΠžΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΊΠ½ΠΈΠ³ΠΈ Excel. Доступ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ числового индСкса Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ (см. Π²Ρ‹ΡˆΠ΅).

ΠšΡ€ΠΎΠΌΠ΅ этого Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ActiveSheet для доступа ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу. Из ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Worksheet ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Rows ΠΈ Columns, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Range, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° строки ΠΈ столбцы Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ячСйкС ΠΈΠ»ΠΈ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ смСТных ячССк Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС.

RowsΠžΠ±ΡŠΠ΅ΠΊΡ‚ Rows – это коллСкция всСх строк Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Range, состоящий ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строки Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ этой строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Rows(1).
ColumnsΠžΠ±ΡŠΠ΅ΠΊΡ‚ Columns – это коллСкция всСх столбцов Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Range, состоящий ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ столбца Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ этого столбца, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Columns(1).
RangeΠžΠ±ΡŠΠ΅ΠΊΡ‚ Range – это любоС количСство смСТных ячССк Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½Π° ячСйка ΠΈΠ»ΠΈ всС ячСйки листа.

Доступ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, состоящСму ΠΈΠ· СдинствСнной ячСйки, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ осущСствлён Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ свойства Cells, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Worksheet.Cells(1,1).

По-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ссылку Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² адрСса Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ячССк. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. НапримСр, Worksheet.Range(β€œA1:B10”) ΠΈΠ»ΠΈ Worksheet.Range(β€œA1”,Β β€œB10”) ΠΈΠ»ΠΈ Worksheet.Range(Cells(1,1),Β Cells(10,2)).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ссли Π² адрСсС Range вторая ячСйка Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Worksheet.Range(β€œA1”) ΠΈΠ»ΠΈ Worksheet.Range(Cells(1,1)), Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, состоящий ΠΈΠ· СдинствСнной ячСйки.

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

Workbooks("Книга1").Worksheets("Лист1").Range("A1:B10")

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ Excel VBA ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСн ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Set:

Dim DataWb As Workbook
Set DataWb = Workbooks("Книга1.xlsx")

Активный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Excel Π΅ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook – это рабочая ΠΊΠ½ΠΈΠ³Π°, открытая Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ сущСствуСт Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π‘ΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook ΠΈΠ»ΠΈ Sheet Π² ΠΊΠΎΠ΄Π΅ VBA ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π° ActiveWorkbook ΠΈΠ»ΠΈ ActiveSheet, Π° Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range – ΠΊΠ°ΠΊ Π½Π° Selection.

Если Π² ΠΊΠΎΠ΄Π΅ VBA записана ссылка Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Π±Π΅Π· указания ΠΊ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΎΠ½ относится, Ρ‚ΠΎ Excel ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обращаСтся ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π΅ указывая ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈΠ»ΠΈ лист, Ρ‚ΠΎ Excel ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обратится ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ A1:B10 Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ просто:

Π‘ΠΌΠ΅Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Если Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, Ρ‚ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Activate ΠΈΠ»ΠΈ Select Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Sub ActivateAndSelect()

   Workbooks("Книга2").Activate
   Worksheets("Лист2").Select
   Worksheets("Лист2").Range("A1:B10").Select
   Worksheets("Лист2").Range("A5").Activate

End Sub

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Activate ΠΈΠ»ΠΈ Select, Π΄Π°Π»Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ VBA ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ для Π½Π΅Π³ΠΎ свойства. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook ΠΈΠΌΠ΅Π΅Ρ‚ свойства Name (имя), RevisionNumber (количСство сохранСний), Sheets (листы) ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ Π΄Π°Π»Π΅Π΅ имя свойства. НапримСр, имя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступно Π²ΠΎΡ‚ Ρ‚Π°ΠΊ: ActiveWorkbook.Name. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ wbName имя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

Dim wbName As String
wbName = ActiveWorkbook.Name

Π Π°Π½Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Worksheet ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Workbooks("Книга1").Worksheets("Лист1")

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ коллСкция Worksheets являСтся свойством ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook.

НСкоторыС свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡ… значСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ значСния. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Π½Π° β€œΠœΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π»ΠΈΡΡ‚β€œ, достаточно ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ это имя свойству Name Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ActiveSheet.Name = "Мой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист"

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ VBA ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… дСйствий. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° – это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, привязанныС ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Activate, Close, Save ΠΈ Π΅Ρ‰Ρ‘ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ….

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

Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅. НапримСр, ΠΌΠ΅Ρ‚ΠΎΠ΄ Close ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ сохранСна рабочая ΠΊΠ½ΠΈΠ³Π° ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° значСния этих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. НапримСр, Ссли Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» .csv с ΠΈΠΌΠ΅Π½Π΅ΠΌ β€œΠšΠ½ΠΈΠ³Π°2”, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ SaveAs ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ Filename Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Книга2, Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ FileFormat – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xlCSV:

ActiveWorkbook.SaveAs "Книга2", xlCSV

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’ этом случаС сначала Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ имя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания β€œ:=” ΠΈ послС Π½Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SaveAs ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

ActiveWorkbook.SaveAs Filename:="Книга2", [FileFormat]:=xlCSV

Π’ ΠΎΠΊΠ½Π΅ Object Browser Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Visual Basic ΠΏΠΎΠΊΠ°Π·Π°Π½ список всСх доступных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡ… свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ этот список, запуститС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Visual Basic ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F2.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

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

Π­Ρ‚ΠΎΡ‚ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ ΠΊΠΎΠ΄Π° VBA ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ использования Ρ†ΠΈΠΊΠ»Π° For Each. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ обратимся ΠΊ Π½Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheets (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ бСрётся ΠΈΠ· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ) ΠΈ ссылки Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа использовано свойство Name ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Worksheet.

'ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
'ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ сообщСния с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

Dim wSheet As Worksheet

For Each wSheet in Worksheets
   MsgBox "НайдСн Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист: " & wSheet.Name
Next wSheet

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

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π° VBA ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ ячССк ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³. ΠšΡ€ΠΎΠΌΠ΅ этого, Π’Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° ссылка Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Excel. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт использованиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Set для присваивания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ ΠΊΠΎΠ΄Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅, для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ PasteSpecial. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ Paste Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xlPasteValues.

'ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк ΠΈΠ· листа "Лист1" Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (с ΠΈΠΌΠ΅Π½Π΅ΠΌ Data.xlsx)
'ΠΈ вставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния Π½Π° лист "Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹" Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (с ΠΈΠΌΠ΅Π½Π΅ΠΌ CurrWb.xlsm)

Dim dataWb As Workbook

Set dataWb = Workbooks.Open("C:\Data")

'ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ DataWb – это активная рабочая ΠΊΠ½ΠΈΠ³Π°.
'Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ дСйствиС выполняСтся с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Sheets Π² DataWb.

Sheets("Лист1").Range("A1:B10").Copy

'ВставляСм значСния, скопированныС ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк, Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист "Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹"
'Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ рабочая ΠΊΠ½ΠΈΠ³Π° CurrWb.xlsm Π½Π΅ являСтся
'Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ, поэтому Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π° Π² ссылкС.

Workbooks("CurrWb").Sheets("Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹").Range("A1").PasteSpecial Paste:=xlPasteValues

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

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ ΠΊΠΎΠ΄Π° VBA ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ) Columns ΠΈ дСмонстрируСт, ΠΊΠ°ΠΊ доступ ΠΊ Π½Π΅ΠΌΡƒ осущСствляСтся ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Worksheet. ΠšΡ€ΠΎΠΌΠ΅ этого, Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ, ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° ячСйку ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ этот лист Π² ссылкС. Π’Π½ΠΎΠ²ΡŒ встрСчаСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Set, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Col.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ доступа ΠΊ свойству Value ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Range ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ значСния.

'Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° просматриваСм значСния Π² столбцС A Π½Π° листС "Лист2",
'выполняСм с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ записываСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
'Π² столбСц A Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (Лист1)

Dim i As Integer
Dim Col As Range
Dim dVal As Double

'ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Col столбСц A Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа "Лист2"

Set Col = Sheets("Лист2").Columns("A")
i = 1

'ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ всС ячСйки столбца Col Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€
'ΠΏΠΎΠΊΠ° Π½Π΅ встрСтится пустая ячСйка

Do Until IsEmpty(Col.Cells(i))

   'ВыполняСм арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ячСйки

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

   'Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° записываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² столбСц A
   'Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа. НСт нСобходимости ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ссылкС имя листа,
   'Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

   Cells(i, 1).Value = dVal
   i = i + 1

Loop

ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ качСство ΡΡ‚Π°Ρ‚ΡŒΠΈ. Нам Π²Π°ΠΆΠ½ΠΎ вашС ΠΌΠ½Π΅Π½ΠΈΠ΅:

Sheet happens — ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ VBA — Excel — ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ статСй

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π² VBA ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ листам ΠΊΠ½ΠΈΠ³ΠΈ Excel.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1

Π£ глобального ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Excel Application Π΅ΡΡ‚ΡŒ 2 ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ листов: Sheets ΠΈ Worksheets. ΠžΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ вторая коллСкция Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ листы макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° Excel 4.0 (Π½Π° ΠΌΠΈΠ½ΡƒΡ‚ΠΎΡ‡ΠΊΡƒ — 1992 Π³ΠΎΠ΄) Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° VBA Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ Π² ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ (появился Π² Excel 5.0). ВяТСло Π½Π°ΠΉΡ‚ΠΈ эстСтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всё Π΅Ρ‰Ρ‘ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ листами с макросами, поэтому ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹. Π›ΠΈΡ‡Π½ΠΎ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Sheets просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ 5 Π±ΡƒΠΊΠ² Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ 9.

Β Β Β Β Sheets(1).Cells(1,1)

Sheets(1) — это Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ лист, созданный Π² ΠΊΠ½ΠΈΠ³Π΅, Π° лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ярлыков листов Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠšΠ ΠΠ™ΠΠ•Π• Π›Π•Π’ΠžΠ• ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ Sheets(2) Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ слСва лист Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ярлыков. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ лист, Ρ‚ΠΎ ВАК ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, плохая идСя, ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² порядок слСдования листов, Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΎ всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… я Π±ΡƒΠ΄Ρƒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ячСйки A1, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Ρ‡ΡŒ Π½Π΅ ΠΎ свойствах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Worksheet, Π° ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ способы ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ лист.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2

Β Β Β Β Sheets(«First»).Cells(1,1)

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ листу Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярно Π² Π½Π°Ρ€ΠΎΠ΄Π΅. Π’ скобках ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ имя листа. ΠŸΠ»ΠΎΡ…ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ имя листа, Ρ‡Ρ‚ΠΎ называСтся «hard coded» (Тёстко Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΎ), Ρ‡Ρ‚ΠΎ являСтся ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½ΠΎΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Ибо, Ссли Ρƒ вас Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ конструкция Sheets(«First») встрСчаСтся 100 Ρ€Π°Π·, Ρ‚ΠΎ ΠΏΡ€ΠΈ смСнС ΠΈΠΌΠ΅Π½ΠΈ листа придётся Π΄Π΅Π»Π°Ρ‚ΡŒ поиск с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ 100 констант Π² ΠΊΠΎΠ΄Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΠ½Π°Ρ‡Π΅…

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 3

Π“ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Π΅ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ константу, ΡΡΡ‹Π»Π°ΡŽΡ‰ΡƒΡŽΡΡ Π½Π° имя листа.

Β Β Β Β Public Const wsFirst = «First»
Β Β Β Β Sheets(wsFirst).Cells(1,1)

Π’ случаС смСны ΠΈΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ придётся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π’ΠžΠ›Π¬ΠšΠž эту константу Π² Π½Π°Ρ‡Π°Π»Π΅ модуля. Однако, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана ΠΈ сдана ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π° Ρ‚ΠΎΡ‚ Π² ΠΎΠ΄ΠΈΠ½ прСкрасный ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±Π΅Ρ€Ρ‘Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ лист, Ρ‚ΠΎ наш ΠΊΠΎΠ΄ Ρ‚ΡƒΡ‚ ΠΆΠ΅ пСрСстаёт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Π½Π΅ слишком Ρ…ΠΎΡ€ΠΎΡˆΠΎ…

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 4

Π£ листа Π΅ΡΡ‚ΡŒ свойство Name, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ярлыкС листа ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ (Ссли Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° структуры ΠΊΠ½ΠΈΠ³ΠΈ, Π½ΠΎ сСйчас Π½Π΅ ΠΎΠ± этом), Π½ΠΎ Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ свойство CodeName, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ присваиваСтся листу Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Π’ русской Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ офиса эти CodeName-Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ: Лист1, Лист2, Лист3 ΠΈ Ρ‚.Π΄. Π’ англоязычной вСрсии это: Sheet1, Sheet2, Sheet3, etc.

Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ лист, Ρ‚ΠΎ Π΅Π³ΠΎ CodeName ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ использовано. Π’Π°ΠΊ Π²ΠΎΡ‚ — VBA Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Ρ‘Ρ‚ ΠΈΠΌΠ΅Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ с CodeName листа, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Worksheet.

    Лист1.Cells(1,1) ΠΈΠ»ΠΈ [Лист1].Cells(1,1)

Π­Ρ‚ΠΎ отличная Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пСрСнСсёт ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅Ρ‚ лист. Но ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π½ΠΈ ΠΎ Ρ‡Ρ‘ΠΌ Π½Π΅ говорят Π½Π°ΠΌ Π² процСссС программирования Π² ΠΏΠ»Π°Π½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ располагаСтся Π½Π° листС, поэтому Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Π°ΡΡ‚Π΅Π½ΡŒΠΊΠΎ ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ, путая листы. А Ρ‚Π΅, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² вашСм ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎΠΆΠ΅ спасибо Π²Π°ΠΌ Π½Π΅ скаТут. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ этого способа:

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 5

Β Β Β Β Public wsData As Worksheet
Β Β Β Β Set wsData = Лист1
Β Β Β Β wsData.Cells(1,1)

Π‘Ρ‚Ρ€ΠΎΠΊΡƒ 1 Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π² ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡΡ… модуля. Π‘Ρ‚Ρ€ΠΎΠΊΡƒ 2 Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события Workbook_Open. И послС этого Π² любом мСстС ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (wsData, строка 3). На ΠΌΠΎΠΉ взгляд, это самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ· рассмотрСнных.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 6

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ свойство ActiveSheet ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Application, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист ΠΊΠ½ΠΈΠ³ΠΈ. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ листом, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ.

Β Β Β Β ActiveSheet.Cells(1,1)

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 7

Ну ΠΈ послСднСС, Ссли Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Range, Ρ‚ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ссылку Π½Π° лист Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ свойство Worksheet.

Π­Ρ‚ΠΎ всё, Ρ‡Ρ‚ΠΎ я ΠΈΠΌΠ΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ссылок Π½Π° листы Π² Excel VBA πŸ™‚

ΠœΠ΅Ρ‚ΠΎΠ΄ Sheets. Copy (Excel) | Microsoft Docs



  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ лист Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ располоТСниС Π² ΠΊΠ½ΠΈΠ³Π΅.Copies the sheet to another location in the workbook.

БинтаксисSyntax

Expression. Copy (до, послС)expression.Copy (Before, After)

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: пСрСмСнная, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Sheets.expression A variable that represents a Sheets object.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Parameters

ИмяNameΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉRequired/OptionalΠ’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…Data typeОписаниСDescription
BeforeBeforeΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉOptionalVariantVariantЛист, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ скопированный лист.The sheet before which the copied sheet will be placed. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Before , Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ After.You cannot specify Before if you specify After.
AfterAfterΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉOptionalVariantVariantЛист, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ скопированный лист.The sheet after which the copied sheet will be placed. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ After , Ссли Π²Ρ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Before.You cannot specify After if you specify Before.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡRemarks

Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π΄ΠΎ ΠΈΠ»ΠΈ послС, Microsoft Excel создаст Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ скопированный лист.If you don’t specify either Before or After, Microsoft Excel creates a new workbook that contains the copied sheet.

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

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ копируСтся Лист1, послС Ρ‡Π΅Π³ΠΎ помСщаСтся копия послС Sheet3.This example copies Sheet1, placing the copy after Sheet3.

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связьSupport and feedback

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Office VBA ΠΈΠ»ΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ?Have questions or feedback about Office VBA or this documentation? Руководство ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способам получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Office VBA ΠΈ обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.



Бвойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Worksheet. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

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

Malcolm Gladwell

ΠœΠ΅Ρ‡Ρ‚Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с чистого листа Π±ΡƒΠΌΠ°Π³ΠΈ ΠΈ пСрСосмысливаСт ΠΌΠΈΡ€

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ содСрТит ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΏΠΎ использованию Excel
VBA Worksheet Π² Excel VBA. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ быстро, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ руководством ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу VBA Π½ΠΈΠΆΠ΅.

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² VBA, Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ β€” ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ мСсто для Π½Π°Ρ‡Π°Π»Π°. МнС нравится Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ Π½Π° простыС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ ΠΈΡ… Π½Π° простом языкС.

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

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу VBA

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²
Worksheet .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Worksheet Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅, Π½Π΅ указывая Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‚.Π΅. Worksheets, Π° Π½Π΅ ThisWorkbook.Worksheets, wk.Worksheets ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ понятными ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для чтСния. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΡ€ΠΈ использовании Worksheets . Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС активная рабочая ΠΊΠ½ΠΈΠ³Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π—Π°Π΄Π°Ρ‡Π°Π˜ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу ΠΏΠΎ
ΠΈΠΌΠ΅Π½ΠΈ
Worksheets(«Лист1Β»)
Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу ΠΏΠΎ
ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ слСва
Worksheets(2)
Worksheets(4)
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ самому
Π»Π΅Π²ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу
Worksheets(1)
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ самому
ΠΏΡ€Π°Π²ΠΎΠΌΡƒ листу
Worksheets(Worksheets.Count)
Доступ с использованиСм
ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ листа (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
тСкущая ΠΊΠ½ΠΈΠ³Π°)
Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Ρ€Π°Π·Π΄Π΅Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ
ИспользованиС кодового имСни
Доступ ΠΏΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ
Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (другая рабочая
ΠΊΠ½ΠΈΠ³Π°)
Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Ρ€Π°Π·Π΄Π΅Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ
ИспользованиС кодового имСни
Доступ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ листуActiveSheet
ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ листаDimΒ shΒ AsΒ Worksheet
ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ листаSetΒ sh = Worksheets(«Лист1Β»)
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ листWorksheets.Add
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ
Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
Worksheets.Add Before:=
Worksheets(1)
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ лист Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ
ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (слСва)
SetΒ sh =Worksheets.Add
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ лист Π² послСднюю
ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (справа)
Worksheets.Add after:=Worksheets(Worksheets.Count)
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько листовWorksheets.Add Count:=3
ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ листsh.Activate
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ листsh.Copy
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послС листаsh2.Copy After:=Sh3
Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ листомsh2.Copy Before:=Sh3
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ листsh.Delete
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π±Π΅Π·
прСдупрСТдСния
Application.DisplayAlerts =Β False
sh.Delete
Application.DisplayAlerts =Β True
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя листаsh.Name = Β«DataΒ»
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ/ΡΠΊΡ€Ρ‹Ρ‚ΡŒ листsh.Visible = xlSheetHidden
sh.Visible = xlSheetVisible sh.Name = Β«DataΒ»
ΠŸΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС листы (For)DimΒ iΒ AsΒ Long
ForΒ i = 1Β ToΒ Worksheets.Count
Β Β Debug.PrintΒ Worksheets(i).Name
NextΒ i
ΠŸΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС листы (For Each)DimΒ shΒ AsΒ Worksheet
ForΒ EachΒ shΒ InΒ Worksheets
Β Β Β Β Debug.PrintΒ sh.Name
Next

ВступлСниС

Π’Ρ€ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… элСмСнта VBA β€” это Рабочая ΠΊΠ½ΠΈΠ³Π°, Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ Π―Ρ‡Π΅ΠΉΠΊΠΈ. Из всСго ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, 90% Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ всС ΠΈΠ· Π½ΠΈΡ….

НаиболСС распространСнноС использованиС Worksheet Π² VBA для доступа ΠΊ Π΅Π³ΠΎ ячСйкам. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹, скрытия, добавлСния, пСрСмСщСния ΠΈΠ»ΠΈ копирования листа.

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

ИспользованиС Worksheets Π±ΠΎΠ»Π΅Π΅ простоС, Ρ‡Π΅ΠΌ использованиС Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³. Π‘ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΡ…, Π½Π°ΠΉΡ‚ΠΈ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΎΠ½ΠΈ находятся, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листом ΠΎΠ½ Π»ΠΈΠ±ΠΎ сущСствуСт Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ Π½Π΅Ρ‚.

Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу

Π’ VBA каТдая рабочая ΠΊΠ½ΠΈΠ³Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов. Π’ этой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ запись для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π­Ρ‚Π° коллСкция называСтся просто Worksheets ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Workbooks. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу, достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ записываСт Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€Β» Π² ячСйках A1 Π½Π° листах: Лист1, Лист2 ΠΈ Лист3 Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

Sub ZapisVYacheiku1()

    ' Π—Π°ΠΏΠΈΡΡŒ Π² ячСйку А1 Π² листС 1, листС 2 ΠΈ листС 3
    ThisWorkbook.Worksheets("Лист1").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    ThisWorkbook.Worksheets("Лист2").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    ThisWorkbook.Worksheets("Лист3").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"

End Sub

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Worksheets всСгда ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ½ΠΈΠ³Π΅. Если ΠΌΡ‹ Π½Π΅
ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‚ΠΎ активная рабочая ΠΊΠ½ΠΈΠ³Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Sub ZapisVYacheiku1()

    ' Worksheets относятся ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅.
    Worksheets("Лист1").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    Worksheets("Лист2").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    Worksheets("Лист3").Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"

End Sub

Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ лист.

ThisWorkbook.Worksheets("Лист1").Visible = xlSheetHidden

ThisWorkbook.Worksheets("Лист1").Visible = xlSheetVisible

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ
листу, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Β«ΠΎΡ‡Π΅Π½ΡŒ скрытым». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
сдСлано Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ΠΎΠΌ.

' Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚ доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
ThisWorkbook.Worksheets("Лист1").Visible = xlVeryHidden

' Π­Ρ‚ΠΎ СдинствСнный способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ лист xlVeryHidden Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ
ThisWorkbook.Worksheets("Лист1").Visible = xlSheetVisible

Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Worksheet β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

ThisWorkbook.Worksheets("Лист1").Protect Password:="ΠœΠΎΠΉΠΏΠ°Ρ€ΠΎΠ»ΡŒ"

ThisWorkbook.Worksheets("Лист1").Unprotect Password:="ΠœΠΎΠΉΠΏΠ°Ρ€ΠΎΠ»ΡŒ"

ИндСкс внС диапазона

ΠŸΡ€ΠΈ использовании Worksheets Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСниС ΠΎΠ±
ошибкС:

Run-time Error 9 Subscript out of Range

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ сущСствуСт. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  1. Имя Worksheet , присвоСнноС Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам, написано Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.
  2. НазваниС листа измСнилось.
  3. Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½.
  4. ИндСкс Π±Ρ‹Π» большим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π’Ρ‹ использовали Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (5), Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листа
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рабочая ΠΊΠ½ΠΈΠ³Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Workbooks(Β«book1.xlsxΒ»).Worksheets(«Лист1Β») вмСсто
    Workbooks(Β«book3.xlsxΒ»).Worksheets («Лист1Β»).

Если Ρƒ вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° Β«Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

ИспользованиС индСкса для доступа ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ использовали имя листа для доступа ΠΊ листу.
Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ относится ΠΊ полоТСнию Π²ΠΊΠ»Π°Π΄ΠΊΠΈ листа Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ
ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π΅ рСкомСндуСтся
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это.

Β Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования индСкса.

' ИспользованиС этого ΠΊΠΎΠ΄Π° являСтся ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ
' ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ листа всС врСмя ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ
Sub IspIndList()

    With ThisWorkbook
        ' Π‘Π°ΠΌΡ‹ΠΉ Π»Π΅Π²Ρ‹ΠΉ лист
        Debug.Print .Worksheets(1).Name
        ' Π’Ρ€Π΅Ρ‚ΠΈΠΉ лист слСва
        Debug.Print .Worksheets(3).Name
        ' Π‘Π°ΠΌΡ‹ΠΉ ΠΏΡ€Π°Π²Ρ‹ΠΉ лист
        Debug.Print .Worksheets(.Worksheets.Count).Name
    End With

End Sub

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я использовал Debug.Print для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Immediate Window. Для просмотра этого ΠΎΠΊΠ½Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π’ΠΈΠ΄Β» -> Β«Immediate Window Β» (Ctrl + G).

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

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу β€”
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ лист ΠΈΠΌΠ΅Π΅Ρ‚ имя листа ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя. Имя листа
β€” это имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отобраТаСтся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ листа Π² Excel.

ИзмСнСниС ΠΈΠΌΠ΅Π½ΠΈ листа Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ измСнСнию ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ссылка Π½Π° лист ΠΏΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ β€” отличная идСя.

Если Π²Ρ‹ посмотритС Π² ΠΎΠΊΠ½Π΅ свойств VBE, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ±Π° ΠΈΠΌΠ΅Π½ΠΈ.
На рисункС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя β€” это имя Π²Π½Π΅ скобок, Π° имя листа
β€” Π² скобках.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ имя листа, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Π² ΠΎΠΊΠ½Π΅
свойств листа (см. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅).

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

Sub IspKodImya2()

    ' Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя листа
    Debug.Print CodeName.Name
    CodeName.Range("A1") = 45
    CodeName.Visible = True

End Sub

Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΈΠΌ для чтСния ΠΈ бСзопасным ΠΎΡ‚ измСнСния
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ листа.

КодовоС имя Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ…

Π•ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ нСдостаток использования ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Он относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, которая содСрТит ΠΊΠΎΠ΄, Ρ‚.Π΅. ThisWorkbook.

Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ
ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя листа Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.

Sub Π˜ΡΠΏΠ›ΠΈΡΡ‚()

    Dim sh As Worksheet
    ' ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΏΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ
    Set sh = SheetFromCodeName("CodeName", ThisWorkbook)
    ' Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
    Debug.Print sh.Name

End Sub

' Π­Ρ‚Π° функция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ
Public Function SheetFromCodeName(Name As String, bk As Workbook) As Worksheet

    Dim sh As Worksheet
    For Each sh In bk.Worksheets
        If sh.CodeName = Name Then
           Set SheetFromCodeName = sh
           Exit For
        End If
    Next sh

End Function

ИспользованиС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Ρ‚ΠΎ Π½Π° ваш ΠΊΠΎΠ΄ это Π½Π΅ повлияСт.

БущСствуСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ получСния ΠΈΠΌΠ΅Π½ΠΈ листа внСшнСй
Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ с использованиСм ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт
VBProject этой Π Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅. Π― Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» это, ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π° Π½Π΅ этот.

Public Function SheetFromCodeName2(codeName As String _
                             , bk As Workbook) As Worksheet

    ' ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя листа ΠΈΠ· CodeName, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VBProject
    Dim sheetName As String
    sheetName = bk.VBProject.VBComponents(codeName).Properties("Name")

    ' Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ имя листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа
    Set SheetFromCodeName2 = bk.Worksheets(sheetName)

End Function

РСзюмС кодового имСни

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС использования ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ:

  1. КодовоС имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
    использовано нСпосрСдствСнно Π² ΠΊΠΎΠ΄Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Sheet1.Range
  2. КодовоС имя Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли имя
    Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.
  3. КодовоС имя ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для
    листов Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ΄.
  4. Π’Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ThisWorkbook.Worksheets
    («имя листа»), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.
  5. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SheetFromCodeName
    свСрху, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ….

 Активный лист

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ActiveSheet ссылаСтся Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ActiveSheet Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ особая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ листа, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Range, ΠΈ Π½Π΅
ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚Π΅ лист, ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист.

' ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ячСйку A1 Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС
ActiveSheet.Range("A1") = 99

' Активный лист ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли лист Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
Range("A1") = 99

ОбъявлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° листа

ОбъявлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° листа ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш
ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным ΠΈ Π»Π΅Π³ΠΊΠΈΠΌ для чтСния.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΊΠΎΠ΄ для обновлСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²
ячССк. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Sub Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа. Вторая ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа, ΠΈ поэтому ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ понятнСС.

Sub NeObyavObektList()

    Debug.Print ThisWorkbook.Worksheets("Лист1").Name
    ThisWorkbook.Worksheets("Лист1").Range("A1") = 6
    ThisWorkbook.Worksheets("Лист1").Range("B2:B9").Font.Italic = True
    ThisWorkbook.Worksheets("Лист1").Range("B2:B9").Interior.Color = rgbRed

End Sub
Sub ObyavObektList()

    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets("Лист1")

    sht.Range("A1") = 6
    sht.Range("B2:B9").Font.Italic = True
    sht.Range("B2:B9").Interior.Color = rgbRed

End Sub

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово With с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ
листа, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Sub ObyavObektListWith()

    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets("Лист1")

    With sht
        .Range("A1") = 6
        .Range("B2:B9").Font.Italic = True
        .Range("B2:B9").Interior.Color = rgbRed
    End With

End Sub

Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу Π² Π΄Π²ΡƒΡ… словах

Из-Π·Π° мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов доступа ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ сбитыми с Ρ‚ΠΎΠ»ΠΊΡƒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° простыС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹.

  1. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ActiveSheet.
ActiveSheet.Range("A1") = 55

2. Если лист находится Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя.

Sheet1.Range("A1") = 55

3. Если рабочая Ρ‚Π°Π±Π»ΠΈΡ†Π° находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

' ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
Dim wk As Workbook
Set wk = Workbooks.Open("C:\Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹\Π‘Ρ‡Π΅Ρ‚Π°.xlsx", ReadOnly:=True)
' Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ лист
Dim sh As Worksheet
Set sh = wk.Worksheets("Лист1")

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚ измСнСния ΠΈΠΌΠ΅Π½ΠΈ листа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SheetFromCodeName ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° «Имя ΠΊΠΎΠ΄Π°Β».

' ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
Dim wk As Workbook
Set wk = Workbooks.Open("C:\Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹\Π‘Ρ‡Π΅Ρ‚Π°.xlsx", ReadOnly:=True)

' Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ лист
Dim sh As Worksheet
Set sh = SheetFromCodeName("sheetcodename",wk)

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ
Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Если Π²Ρ‹ Π½Π΅ прСдоставитС Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Add, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ
Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листом.

Когда Π²Ρ‹ добавляСтС Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΎΠ½ создаСтся с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «Лист4Β». Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство Name.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ добавляСтся Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ измСняСтся имя Π½Π° Β«Π‘Ρ‡Π΅Ρ‚Π°Β». Если лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«Π‘Ρ‡Π΅Ρ‚Π°Β» ΡƒΠΆΠ΅ сущСствуСт, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС.

Sub DobavitList()

    Dim sht As Worksheet

    ' ДобавляСт Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ листом
    Set sht = ThisWorkbook.Worksheets.Add
    ' УстановитС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ листа
    sht.Name = "Π‘Ρ‡Π΅Ρ‚Π°"

    ' ДобавляСт 3 Π½ΠΎΠ²Ρ‹Ρ… листа ΠΏΠ΅Ρ€Π΅Π΄ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ листом
    ThisWorkbook.Worksheets.Add Count:=3

End Sub

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ добавляСтС листы ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ
Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ листу. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ для размСщСния листа.

Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ лист Π½ΠΎΠ²Ρ‹ΠΉ лист Π΄ΠΎΠ»ΠΆΠ΅Π½
Π±Ρ‹Ρ‚ΡŒ вставлСн Π΄ΠΎ ΠΈΠ»ΠΈ послС. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Sub DobavitListPervPosl()

    Dim shtNew As Worksheet
    Dim shtFirst As Worksheet, shtLast As Worksheet

    With ThisWorkbook

        Set shtFirst = .Worksheets(1)
        Set shtLast = .Worksheets(.Worksheets.Count)

        ' ДобавляСт Π½ΠΎΠ²Ρ‹ΠΉ лист Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² ΠΊΠ½ΠΈΠ³Π΅
        Set shtNew = Worksheets.Add(Before:=shtFirst)
        shtNew.Name = "FirstSheet"

        ' ДобавляСт Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΊ послСднСй ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² ΠΊΠ½ΠΈΠ³Π΅
        Set shtNew = Worksheets.Add(After:=shtLast)
        shtNew.Name = "LastSheet"

    End With

End Sub

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лист, просто Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Delete.

Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Лист12")
sh.Delete

Excel ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ листа. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ это сообщСниС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:

Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True

Π•ΡΡ‚ΡŒ Π΄Π²Π° аспСкта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†.

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу послС
Π΅Π³ΠΎ удалСния, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Β«Subscript out of RangeΒ», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²
Ρ€Π°Π·Π΄Π΅Π»Π΅ «Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу».

Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Лист2")
sh.Delete

' Π­Ρ‚Π° строка выдаст Β«Subscript out of RangeΒ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ «Лист2Β» Π½Π΅ сущСствуСт
Set sh = ThisWorkbook.Worksheets("Лист2")

Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ листа. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ послС удалСния листа, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ этой:

Run-Time error -21147221080 (800401a8β€²) Automation Error

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Π° Π½Π΅
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбою Excel,
Π° Π½Π΅ ΠΊ ошибкС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ происходят ошибки Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

sh.Delete

' Π­Ρ‚Π° строка выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
Debug.Assert sh.Name

Если Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Worksheet Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

sh.Delete

' ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ sh Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ лист
Set sh = Worksheets("Лист3")

' Π­Ρ‚Π° строка Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ
Debug.Assert sh.Name

Π¦ΠΈΠΊΠ» ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Β«WorksheetsΒ» β€” это Π½Π°Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ лист Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ»Ρ‹ Β«For EachΒ» ΠΈΠ»ΠΈ Β«ForΒ».

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» For Each.

Sub CiklForEach()

    ' ЗаписываСт Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€Β» Π² ячСйку A1 для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ листа
    Dim sht As Worksheet
    For Each sht In ThisWorkbook.Worksheets
         sht.Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    Next sht 

End Sub

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный Ρ†ΠΈΠΊΠ» For.

Sub CiklFor()
    
    ' ЗаписываСт Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€Β» Π² ячСйку A1 для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ листа
    Dim i As Long
    For i = 1 To ThisWorkbook.Worksheets.Count
         ThisWorkbook.Worksheets(i).Range("A1") = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠœΠΈΡ€"
    Next sht

End Sub

Π’Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ½ΠΈΠ³Π°ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π² ThisWorkbook. Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ β€” ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π²ΠΎ всСх ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ этому, для записи Π½Π° листы, Ρ‚ΠΎ сначала сдСлайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию всСго, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° всС листы.

Sub NazvVsehStr()

    ' ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ названия листов для
    ' всСх листов Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ…
    Dim wrk As Workbook
    Dim sht As Worksheet
    For Each wrk In Workbooks
        For Each sht In wrk.Worksheets
            Debug.Print wrk.Name + ":" + sht.Name
        Next sht
    Next wrk

End Sub

ИспользованиС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ листов

Рабочая ΠΊΠ½ΠΈΠ³Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π½Π° Worksheets ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Sheets. Π­Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡƒΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΈΠΏΠ΅ листа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Π’ Excel Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ. Для этого Π½ΡƒΠΆΠ½ΠΎ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π½Π° любом листС.
  2. Π©Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΒ».
  3. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ «Новый лист» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «ОК».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ рабочая ΠΊΠ½ΠΈΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ листы ΠΈ лист-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°.

  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Β«Worksheets Β» относится ΠΊΠΎ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅. НС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя листы Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.
  • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets относится ΠΊΠΎ всСм листам, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΊΠ½ΠΈΠ³Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ листы Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· всС
листы Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ листа ΠΈ Ρ‚ΠΈΠΏ листа. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€
Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Worksheets.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ лист-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π² свою ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ.

Sub KollSheets()

    Dim sht As Variant
    ' ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ листа
    For Each sht In ThisWorkbook.Sheets
        Debug.Print sht.Name &amp; " is type " &amp; TypeName(sht)
    Next sht

End Sub

Sub KollWorkSheets()

    Dim sht As Variant
    ' ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ листа
    For Each sht In ThisWorkbook.Worksheets
        Debug.Print sht.Name &amp; " is type " &amp; TypeName(sht)
    Next sht

End Sub

Если Ρƒ вас Π½Π΅Ρ‚ листов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎ использованиС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Sheets β€” Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ использованиС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ WorkSheets.

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

На этом ΠΌΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ Worksheet VBA. Π― надСюсь, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

Π’Ρ€ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… элСмСнта Excel VBA β€” это Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΈ ячСйки.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚

листов (Excel) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

  • 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ всСх листов Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.

ЗамСчания

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Chart ΠΈΠ»ΠΈ Worksheet .

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ листов ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ листы любого Ρ‚ΠΈΠΏΠ°. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с листами Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, см. Π’Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для этого Ρ‚ΠΈΠΏΠ° листов.

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Sheets ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbook , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Sheets . Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ всС листы Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

  листов.
  

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ лист ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π° листа Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ послС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ листа Π² ΠΊΠ½ΠΈΠ³Π΅.

  Листы.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ: = xlChart, количСство: = 2, послС: = Листы (2)
  

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Sheets ( index ), Π³Π΄Π΅ index — это имя листа ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ индСкса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Chart ΠΈΠ»ΠΈ Worksheet . Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ активируСтся лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ Sheet1.

  листов ("Лист1"). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
  

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ листов ( массив ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ листа.Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ листы с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Sheet4 ΠΈ Sheet5 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ.

  листов (массив ("Sheet4", "Sheet5")). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ: = Sheets (1)
  

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠΠ΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΠ± Office VBA ΠΈΠ»ΠΈ этой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ? Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ Office VBA, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π².

.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (Excel) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

  • 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист.

ЗамСчания

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Worksheet . ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Worksheets содСрТит всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Worksheet Π² ΠΊΠ½ΠΈΠ³Π΅.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Sheets . ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Sheets содСрТит всС листы Π² ΠΊΠ½ΠΈΠ³Π΅ (ΠΊΠ°ΠΊ листы Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы).

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Worksheets ( index ), Π³Π΄Π΅ index — это Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ имя индСкса Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Worksheet . Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист скрываСтся Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.

  Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (1).Visible = False
  

НомСр индСкса Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΊΠ½ΠΈΠ³ΠΈ. Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (1) — это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ) Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ΠΊΠ½ΠΈΠ³Π΅, Π° Π Π°Π±ΠΎΡ‡ΠΈΡ… листов (Worksheets.Count) — послСдний. ВсС листы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² счСтчик индСкса, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ скрыты.

Имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа отобраТаСтся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство Name , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‚ΡΡ сцСнарии Π½Π° Sheet1.

 
Dim strPassword ΠΊΠ°ΠΊ строка
strPassword = InputBox (Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа»)
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Sheet1"). Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: = strPassword, сцСнарии: = True
  

Когда Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист являСтся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ActiveSheet для ссылки Π½Π° Π½Π΅Π³ΠΎ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Activate для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Sheet1, установка ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ страницы Π² Π°Π»ΡŒΠ±ΠΎΠΌΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ распСчатка Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

  Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Sheet1").ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintOut
  

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

  • Π―Ρ‡Π΅ΠΉΠΊΠ° A1 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятой ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D1 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π°.
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D2 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Β«Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Β».
  • Π―Ρ‡Π΅ΠΉΠΊΠ° D3 Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ для Ρ„Π°ΠΉΠ»ΠΎΠ² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π° (txt).

Если Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ячСйку A1, Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ячСйкС A1, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅.

  Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ логичСскоС)
   'ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
   Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ sFile ΠΊΠ°ΠΊ строку, sPath ΠΊΠ°ΠΊ строку, sTxt ΠΊΠ°ΠΊ строку, sExe ΠΊΠ°ΠΊ строку, sSfx ΠΊΠ°ΠΊ строку
   
   'Если Π²Ρ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π½Π΅ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ»ΠΈ ΠΏΠΎ A1, Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
   Если Target.АдрСс <> "$ A $ 1", Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈΠ· подписки
   
   'Если Π²Ρ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ»ΠΈ ΠΏΠΎ A1, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
   ΠžΡ‚ΠΌΠ΅Π½Π° = True
   
   'Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΏΡƒΡ‚ΡŒ ΠΊ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²,
   'Π½Π° основС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° листС.
   sPath = Range ("D1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
   sExe = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("D2"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
   sSfx = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("D3"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
   sFile = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
   
   'Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².
   sFile = WorksheetFunction.Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (sFile, "", "")
   
   'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² спискС (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запятыми) ΠΈ
   'ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ запятой.
   Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° InStr (sFile, ",")
      sTxt = sPath & "\" & Left (sFile, InStr (sFile, ",") - 1) & "." & sSfx
      Если Dir (sTxt) <> "" Π’ΠΎΠ³Π΄Π° Shell sExe & "" & sTxt, vbNormalFocus
      sFile = Right (sFile, Len (sFile) - InStr (sFile, ","))
   ΠŸΠ΅Ρ‚Π»Ρ
   
   'Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ послСднСС имя Ρ„Π°ΠΉΠ»Π° Π² спискС
   sTxt = sPath & "\" & sFile & "."& sSfx
   Если Dir (sTxt) <> "" Π’ΠΎΠ³Π΄Π° Shell sExe & "" & sTxt, vbNormalNoFocus
ΠšΠΎΠ½Π΅Ρ† подписки
  

Бобытия

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠΠ΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΠ± Office VBA ΠΈΠ»ΠΈ этой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ? Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ Office VBA, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π².

.

Листы ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Excel VBA

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

Загрузка…

.Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΏΠΎ

Excel Worksheets: VBA Activesheet ΠΈ Worksheets

БСгодня ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… VBA. ΠœΡ‹ рассмотрим всС нСприятности, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, VBA Activesheet ΠΈ Π΅Π³ΠΎ сравнСниС с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ листами , ΠΊΠ°ΠΊ Select Worksheets , ΠΊΠ°ΠΊ Activate Worksheets , Selecting vs Activating Worksheets … ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС VBA Π² Ρ†Π΅Π»ΠΎΠΌ.

ThisWorkbook ΠΏΡ€ΠΎΡ‚ΠΈΠ² ActiveWorkbook

НСкоторыС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы Excel НачнСм с основ.ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ, я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ ΠΈ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ActiveWorkbooks ΠΈ ThisWorksbooks. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅:

  • ThisWorkbook — относится ΠΊ ΠΊΠ½ΠΈΠ³Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½ макрос VBA
  • ActiveWorkbook — относится ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, которая находится Π² самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅ Excel

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ эту Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, ΠΈ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ сначала ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΉ пост ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Excel VBA

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Excel.

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

Доступ ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам VBA

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° это Ρƒ нас Π΅ΡΡ‚ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы доступа ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листам Π² VBA:

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ActiveWorkbook VBA

Π‘Π±ΠΎΡ€Π½ΠΈΠΊΠΈ листов ΠΈ листов

листов Π² ActiveWorkbook :

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wsCollection ΠΊΠ°ΠΊ листы
Set wsCollection = Sheets 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всю ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов
Set ws = Sheets (1) 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
Set ws = Sheets ("Sheet1") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ActiveWorkbook
 

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов вмСсто листов.

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wsCollection ΠΊΠ°ΠΊ листы
Set wsCollection = Worksheets 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всю ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов
Set ws = Worksheets (1) 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
Set ws = Worksheets ("Sheet1") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ActiveWorkbook
 

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ThisWorkbook, VBA

Π‘Π±ΠΎΡ€Π½ΠΈΠΊΠΈ листов ΠΈ листов

листов Π² ThisWorkbook :

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wsCollection ΠΊΠ°ΠΊ листы
Set wsCollection = Sheets 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всю ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов
УстановитС ws = ThisWorkbook.Π’Π°Π±Π»ΠΈΡ†Ρ‹ (1) 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ThisWorkbook
Set ws = ThisWorkbook.Sheets ("Sheet1") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ThisWorkbook
 

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов вмСсто листов.

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, wsCollection ΠΊΠ°ΠΊ листы
Set wsCollection = Worksheets 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всю ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов
Set ws = ThisWorkbook.Worksheets (1) 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
Set ws = ThisWorkbook.Worksheets ("Sheet1") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ThisWorkbook
 

Имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа VBA ΠΈ имя Excel

caption id = ”attachment_11373 β€³ align =” alignright ”width =” 213 β€³] Имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа VBA ΠΈ имя Excel [/ caption] Говоря ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листах Π² ThisWorkbook , имя VBA Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π½Π΅ совпадаСт с Имя Excel Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² этом ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π‘ΠΏΡ€Π°Π²Π° Ρƒ нас Π΅ΡΡ‚ΡŒ экран ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Workbook. Π‘Ρ‚Ρ€ΠΎΠΊΠ° VBAName — это имя VBA нашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа , с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, строка Excel Name — это нашС имя Excel. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° ΠΈΠΌΠ΅Π½ΠΈ для обозначСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Π½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.

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

Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист VBA Name ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист VBA Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ VBA — просто Π½Π°Π±Ρ€Π°Π² Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ . Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ имя VBA Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠΎ ошибкС с уровня Excel (Π½Π΅ VBE). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ Π±Ρ‹ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½ΠΈ Π΄Π°Π²Π°Π» Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ листу, Π΅Π³ΠΎ имя VBA остаСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ.

ИспользованиС ΠΈΠΌΠ΅Π½ΠΈ листа Π² Excel

ИспользованиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel ΠΈΠ· VBA Π½Π΅ рСкомСндуСтся. . НиТС я имСю Π² Π²ΠΈΠ΄Ρƒ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π½Π°Π·Π²Π°Π» Excel Name Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅.

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

Set ws = Worksheets ("Имя Excel") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ActiveWorkbook
 

Π’Ρ‹ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ VBA, ΠΏΡ€ΠΈ использовании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Worksheets ΠΈΠ»ΠΈ Sheets ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚Π΅ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ листом, Π½ΠΎ ΠΈΠ· ActiveWorkbook. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ большого значСния. Но я ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°ΡŽ, Ρ‡Ρ‚ΠΎ это просто Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ мСсто, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π‘ΠΌ. ОбС вСрсии Π½ΠΈΠΆΠ΅ :

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

'--- Лист ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Excel Π² ActiveWorkbook ---
Set ws = Worksheets ("Имя Excel") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ActiveWorkbook
УстановитС ws = ActiveWorkbook.Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы («Имя ExcelΒ») 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ «Лист1Β» Π² ActiveWorkbook

'--- Лист ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Excel Π² ThisWorkbook ---
Set ws = ThisWorkbook.Worksheets ("Имя Excel") 'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Sheet1" Π² ActiveWorkbook
 

Π’Π°Π±Π»ΠΈΡ†Π° ActiveSheet VBA

Как ΠΈ Π² случаС с Active ΠΈ ThisWorkbook, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ .

Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист , различия:

  • Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист — ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΊΠ½Π΅ Excel.КаТдая рабочая Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Π½Π°Π±ΠΎΡ€ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ
  • ActiveWorksheet — Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ просматриваСтС ΠΈ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. ЕдинствСнный самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π²ΠΎ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ опрСдСлСния Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ лист. На самом Π΄Π΅Π»Π΅ это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим это Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ОписаниС ActiveSheet

Допустим, Ρƒ нас ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ 2 Π Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.Один — Book1.xlsm, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — Book2.xlsm.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ VBE Π² Book1.xlsm . ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

Sub TestActiveSheet ()
 MsgBox ActiveSheet.Name
ΠšΠΎΠ½Π΅Ρ† подписки
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Book2.xlsm . ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ любой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊ MyActiveWorksheet . Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π»Π΅Π½Ρ‚Ρƒ Developer , Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Macros ΠΈ запуститС Books1.xlsm! TestActiveSheet . Π§Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ? Π£ вас навСрняка ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

Π₯отя Π²Ρ‹ запускали макрос ΠΈΠ· Book1.xlsm, VBA всСгда рассматриваСт самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΊΠ°ΠΊ ActiveSheet.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ОбъяснСниС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈ ActiveSheet

Рассмотрим Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Book1.xlsm ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² VBE:

Sub SelectedVSActive ()
  Dim res ΠΊΠ°ΠΊ строка, ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
  res = "Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ листы:" & vbNewLine
  Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ws Π² ActiveWindow.SelectedSheets
    res = res & ws.Name & vbNewLine
  Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ws
  MsgBox res & vbNewLine & "ActiveSheet:" & vbNewLine & ActiveSheet.имя
ΠšΠΎΠ½Π΅Ρ† подписки
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Book2.xlsm
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ количСство Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов (Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 2)
  • Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Book1.xlsm! SelectedVSActive макрос

Π§Ρ‚ΠΎ происходит? Π£ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

Π’Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ это:

  • Активным листом считаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
  • ActiveSheet ВБЕГДА рассматриваСтся ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWindow (эта послСдняя Ρ‡Π°ΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π°)

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ActiveWindow Π½Π° e.Π³. Окна (2) ? Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ€ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх ΠΊΠ½ΠΈΠ³Π°Ρ… Π΅ΡΡ‚ΡŒ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы. НадСюсь, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ.

Активация Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов VBA

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² VBA ΠΎΡ‡Π΅Π½ΡŒ просто. Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Β«ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Как Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA?

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
'... Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ws Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
ws.Activate
 

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½ΠΈΠΆΠ΅:

Листы (1).Activate 'ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
Sheet1.Activate 'ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Sheet1 Π² ThisWorkbook
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("MyNamedWorksheet"). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 'ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Excel с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
 

Π’Ρ‹Π±ΠΎΡ€ листов VBA

Π’Ρ‹Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов.

Π’Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа VBA

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ лист VBA просто. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ свойство Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
'... Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ws Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
ws.Select
 

Π’Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½ΠΈΠΆΠ΅:

Π’Π°Π±Π»ΠΈΡ†Ρ‹ (1) .Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook
Sheet1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ 'Select Sheet1 Π² ThisWorkbook
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("MyNamedWorksheet"). Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Excel с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π² ActiveWorkbook.
 

Π’Ρ‹Π±ΠΎΡ€ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… листов VBA

Π’Ρ‹Π±ΠΎΡ€ Π±ΠΎΠ»Π΅Π΅ 1 Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ массива VBA :

Листы (Массив (1, 2)).Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ 'Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ лист Π² ActiveWorkbook.
Листы (Array ("Named1", "Named2")). Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ 2 ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… листа Π² ActiveWorkbook
 

Π­Ρ‚ΠΎ Π½Π΅ самый элСгантный способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Select Π΅ΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Replace . Установка значСния false Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ наш Π²Ρ‹Π±ΠΎΡ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Листы (1) .Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ
Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (2) .Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ (Π›ΠΎΠΆΡŒ)
Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (3).Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ (Π›ΠΎΠΆΡŒ)
 

Π­Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листа Π² нашСй ActiveWorkbook.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ листов VBA

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист VBA, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ . DisplayAlerts

Application.DisplayAlerts = False
Листы (1) .Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
Application.DisplayAlerts = True
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько листов Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько листов. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅:

Заявка.DisplayAlerts = False
Листы (Массив (1, 2)). Π£Π΄Π°Π»ΠΈΡ‚ΡŒ
Application.DisplayAlerts = True
 

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ листов VBA

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

'Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Sheet1 ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Sheet2
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист1"). ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄: = Листы ("Лист2")

'Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Sheet1 ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Sheet2 Π² Workbook Book1.xlsm
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Sheet1"). ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄: = Workbooks ("Book1.xlsm"). Sheets ("Sheet2")
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ листов VBA

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ листы Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ½ΠΈΠ³.

'ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Sheet1 ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Sheet2
Листы ("Лист1"). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ: = Листы ("Лист2")

'ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Sheet1 ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Sheet2 Π² Workbook Book1.xlsm
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Sheet1"). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ: = Workbooks ("Book1.xlsm"). Sheets ("Sheet2")
 

Π”Ρ€ΡƒΠ³ΠΈΠ΅ свойства листов VBA

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа VBA, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ:

Бвойство листа ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ВычисляСт всС грязныС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ листС
Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
'...Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ws
ws.Calculate
 
Имя ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ имя Excel для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа
Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
'... Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ws
Debug.Print ws.Name 'ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΈ листа Excel
ws.Name = "New name" 'Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ имя для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа
 
Π’ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΎΡ‡Π΅Π½ΡŒ скрытым. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:

  • xlSheetVisible
  • xlSheetVeryHidden
  • xlSheetHidden
Dim ws ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
'...Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ws
ws.Visible = xlSheetHidden 'Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ws скрытым
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ листы Π² Excel / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС листы Π² Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA.

.

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

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