Π Π°Π·Π½ΠΎΠ΅

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ excel vba: ΠœΠ΅Ρ‚ΠΎΠ΄ Workbook. Activate (Excel) | Microsoft Docs

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Workbook. Activate (Excel) | Microsoft Docs



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

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

АктивизируСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, связанноС с ΠΊΠ½ΠΈΠ³ΠΎΠΉ.Activates the first window associated with the workbook.

БинтаксисSyntax

Expression. Активацияexpression.Activate

Expression (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook .expression A variable that represents a Workbook object.

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

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Auto_Activate ΠΈΠ»ΠΈ Auto_Deactivate макросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присоСдинСны ΠΊ ΠΊΠ½ΠΈΠ³Π΅ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ рунаутомакрос для запуска этих макросов).This method won’t run any Auto_Activate or Auto_Deactivate macros that might be attached to the workbook (use the RunAutoMacros method to run those macros).

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

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ активируСтся Book4. xls.This example activates Book4.xls. Если Book4. xls содСрТит нСсколько ΠΎΠΊΠΎΠ½, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ активируСтся ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Book4. xls: 1.If Book4.xls has multiple windows, the example activates the first window, Book4.xls:1.

Workbooks("BOOK4.XLS").Activate

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связь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 vba?

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Excel ΠΈΠ· ΠΊΠΎΠ΄Π° VBA. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, присвоСниС Π΅ΠΉ ΠΈΠΌΠ΅Π½ΠΈ. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Open, Add ΠΈ Close ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Workbooks.

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
  2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
  3. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅
  4. Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Excel ΠΈΠ· ΠΊΠΎΠ΄Π° VBA

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΊΠ½ΠΈΠ³Π° открываСтся ΠΈΠ· ΠΊΠΎΠ΄Π° VBA Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Open:

  Workbooks.Open Filename:="D:test1.xls"  

ΠΈΠ»ΠΈ

  Workbooks.Open ("D:test1.xls")  

Π’ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… указываСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Excel. Если Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ошибка.
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сущСствованиС Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ Dir:

  If Dir("D:test1.xls") = "" Then      MsgBox "Π€Π°ΠΉΠ» Π½Π΅ сущСствуСт"  Else      MsgBox "Π€Π°ΠΉΠ» сущСствуСт"  End If  

Или, Ссли Ρ„Π°ΠΉΠ» сущСствуСт, ΠΌΠΎΠΆΠ½ΠΎ сразу Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ:

  If Dir("D:test1.xls") = "" Then      MsgBox "Π€Π°ΠΉΠ» Π½Π΅ сущСствуСт"  Else      Workbooks.Open Filename:="D:test1.xls"  End If  

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Новая рабочая ΠΊΠ½ΠΈΠ³Π° Excel создаСтся Π² VBA с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Add:

  Workbooks.Add  

Π‘ΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ссли ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ врСмСнная, Π»ΡƒΡ‡ΡˆΠ΅ сразу ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ:

  Workbooks.Add  ActiveWorkbook.SaveAs Filename:="D:test2.xls"  

Π’ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… указываСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ сохраняСмого Ρ„Π°ΠΉΠ»Π° Excel, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ присваиваСмоС имя, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β€” это Β«test2.xlsΒ».

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅:

  ActiveWorkbook  

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ с выполняСмым ΠΊΠΎΠ΄ΠΎΠΌ:

  ThisWorkbook  

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ:

  Workbooks("test1.xls")  Workbooks("test2.xls")  

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ· ΠΊΠΎΠ΄Π° VBA Excel ΠΊΠ½ΠΈΠ³Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.

Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Excel ΠΈΠ· ΠΊΠΎΠ΄Π° VBA

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Π°Ρ рабочая ΠΊΠ½ΠΈΠ³Π° закрываСтся ΠΈΠ· ΠΊΠΎΠ΄Π° VBA Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Close:

  Workbooks("test1.xlsx").Close  

Если закрываСмая ΠΊΠ½ΠΈΠ³Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ, Π° внСсСнныС измСнСния Π½Π΅ Π±Ρ‹Π»ΠΈ сохранСны, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π΅Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Excel ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с вопросом: Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ test1.xlsx? Π§Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» Π·Π°ΠΊΡ€Ρ‹Ρ‚ Π±Π΅Π· сохранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Close β€” SaveChanges:

  Workbooks("test1.xlsx").Close  SaveChanges:=False  

ΠΈΠ»ΠΈ

  Workbooks("test1.xlsx").Close  (False)  

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Excel ΠΈΠ· ΠΊΠΎΠ΄Π° VBA с сохранСниСм внСсСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° SaveChanges:

  Workbooks("test1.xlsx").Close  SaveChanges:=True  

ΠΈΠ»ΠΈ

  Workbooks("test1.xlsx").Close (True)  

Настоящая Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ знакомство с VBA, Π² Π½Π΅ΠΉ приводятся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ управлСния Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ ΠΈ листами Excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA.

Рис. 1. Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ ΠΈ строки скрыты Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Word ΠΈΠ»ΠΈ pdf, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Π°Ρ€Ρ…ΠΈΠ²Π΅Β (ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Π½Π΅ позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Excel с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов)

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° цикличСски просматриваСт всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks ΠΈ сохраняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сохранялся Ρ€Π°Π½Π΅Π΅.

Public Sub SaveAllWorkbooks()
Β Β Β Β Dim Book As Workbook
Β Β Β Β For Each Book In Workbooks
Β Β Β Β Β Β Β Β If Book.Path "" Then Book.Save
Β Β Β Β Next Book
End Sub

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство Path. Если для ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ свойство Path Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ„Π°ΠΉΠ» Π΅Ρ‰Π΅ Π½Π΅ сохранялся (это новая рабочая ΠΊΠ½ΠΈΠ³Π°). Данная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ сохраняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΈΠ· Π½ΠΈΡ…, свойство Path ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠ½ΠΈΠ³

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° цикличСски просматриваСт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Workbooks. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сохраняСт ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ.

Sub CloseAllWorkbooks()
Β Β Β Β Dim Book As Workbook
Β Β Β Β For Each Book In Workbooks
Β Β Β Β Β Β Β Β If Book.Name ThisWorkbook.Name Then
Β Β Β Β Β Β Β Β Β Β Β Β Book.Close savechanges:=True
Β Β Β Β Β Β Β Β End If
Β Β Β Β Next Book
Β Β Β Β ThisWorkbook.Close savechanges:=True
End Sub

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

ЧастичноС сокрытиС элСмСнтов Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠ· этого Ρ€Π°Π·Π΄Π΅Π»Π° ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС строки ΠΈ столбцы Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ… ΠΈΠ· Π½ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (рис. 1).

Sub HideRowsAndColumns()
Β Β Β Β Dim row1 As Long, row2 As Long
Β Β Β Β Dim col1 As Long, col2 As Long
Β Β Β Β If TypeName(Selection) "Range" Then Exit Sub
'Β Β  Если послСдняя строка Π»ΠΈΠ±ΠΎ послСдний столбСц скрыты,
'Β Β  ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ всС ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ
Β Β Β Β If Rows(Rows.Count).EntireRow.Hidden Or _
Β Β Β Β Β Β Β Β Columns(Columns.Count).EntireColumn.Hidden Then
Β Β Β Β Β Β Β Β Cells.EntireColumn.Hidden = False
Β Β Β Β Β Β Β Β Cells.EntireRow.Hidden = False
Β Β Β Β Β Β Β Β Exit Sub
Β Β Β Β End If
Β Β Β Β row1 = Selection.Rows(1).Row
Β Β Β Β row2 = row1 + Selection.Rows.Count β€” 1
Β Β Β Β col1 = Selection.Columns(1).Column
Β Β Β Β col2 = col1 + Selection.Columns.Count β€” 1
Β Β Β Β Application.ScreenUpdating = False
Β Β Β Β On Error Resume Next
'Β Β  Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ строки
Β Β Β Β Range(Cells(1, 1), Cells(row1 β€” 1, 1)).EntireRow.Hidden = True
Β Β Β Β Range(Cells(row2 + 1, 1), Cells(Rows.Count, _
Β Β Β Β Β Β Β Β 1)).EntireRow.Hidden = True
'Β Β  Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ столбцы
Β Β Β Β Range(Cells(1, 1), Cells(1, col1 β€” 1)).EntireColumn.Hidden = True
Β Β Β Β Range(Cells(1, col2 + 1), Cells(1, _
Β Β Β Β Β Β Β Β Columns.Count)).EntireColumn.Hidden = True
End Sub

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС строки ΠΈ столбцы, Π²ΡΡ‚Π°Π½ΡŒΡ‚Π΅ Π½Π° пСрСкрСстиС строк ΠΈ столбцов (Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ красным Π½Π° рис. 1), ΠΈ ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ мСню: Главная –> Π―Ρ‡Π΅ΠΉΠΊΠΈ –> Π€ΠΎΡ€ΠΌΠ°Ρ‚ –> Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ –> ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ строки. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ этот ΠΏΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ столбцы (рис. 2).

Рис. 2. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС строки ΠΈ столбцы

Если Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсвязанныС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ….

Бинхронизация Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π° листах Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ, состоящими ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… листов, Ρ‚ΠΎ, вСроятно, Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Excel Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Β«ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» листы Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π΅ сущСствуСт автоматичСского способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС листы ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π»Π΅Π²Ρ‹Π΅ ячСйки. ΠœΠ°ΠΊΡ€ΠΎΡ VBA, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅, Π±Π΅Ρ€Π΅Ρ‚ Π·Π° основу Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈ выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ листами Π² ΠΊΠ½ΠΈΠ³Π΅:

  • выдСляСт Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС;
  • Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚Ρƒ ΠΆΠ΅ Π»Π΅Π²ΡƒΡŽ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ячСйку, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС (рис. 3).

Рис. 3. Бинхронизация Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π° листах Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Sub SynchSheets()
'Β Β  Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа
'Β Β  ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ ячСйки Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π° всСх листах
Β Β Β Β If TypeName(ActiveSheet) "Worksheet" Then Exit Sub
Β Β Β Β Dim UserSheet As Worksheet, sht As Worksheet
Β Β Β Β Dim TopRow As Long, LeftCol As Integer
Β Β Β Β Dim UserSel As String
Β Β Β Β Application.ScreenUpdating = False
'Β Β  Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа
Β Β Β Β Set UserSheet = ActiveSheet
'Β Β  Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ свСдСний ΠΎΠ± Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ячСйкС
Β Β Β Β TopRow = ActiveWindow.ScrollRow
Β Β Β Β LeftCol = ActiveWindow.ScrollColumn
Β Β Β Β UserSel = ActiveWindow.RangeSelection.Address
'Β Β  ЦикличСский ΠΎΠ±Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов
Β Β Β Β For Each sht In ActiveWorkbook.Worksheets
Β Β Β Β Β Β Β Β If sht.Visible Then ' пропуск скрытых листов
Β Β Β Β Β Β Β Β Β Β Β Β sht.Activate
Β Β Β Β Β Β Β Β Β Β Β Β Range(UserSel).Select
Β Β Β Β Β Β Β Β Β Β Β Β ActiveWindow.ScrollRow = TopRow
Β Β Β Β Β Β Β Β Β Β Β Β ActiveWindow.ScrollColumn = LeftCol
Β Β Β Β Β Β Β Β End If
Β Β Β Β Next sht
'Β Β  ВосстановлСниС исходного полоТСния
Β Β Β Β UserSheet.Activate
Β Β Β Β Application.ScreenUpdating = True
End Sub

По ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ Π”ΠΆΠΎΠ½ Π£ΠΎΠΊΠ΅Π½Π±Π°Ρ…. Excel 2010. ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° VBA. – М: Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°, 2013. – Π‘. 348–351.

Π—Π°Π΄Π°Ρ‡Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти скопированныС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ячСйку, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄Β VBA.

Sub НазваниС_ΠœΠ°ΠΊΡ€ΠΎΡΠ°() 'Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Range("A1:F52").Select 'Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ Selection.Copy ChDir "ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" Workbooks.Open Filename:= "НазваниС Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π²Ρ‹ΡˆΠ΅" 'Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ячСйку Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скопированныС Π΄Π°Π½Π½Ρ‹Π΅ Range("A6").Select 'Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ActiveSheet.Paste 'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ActiveWorkbook.Save 'Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ActiveWorkbook.Close End Sub 

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2: Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ ΠΊΠ½ΠΈΠ³Π΅ запускаСм макрос, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΎΡ‚ΠΊΡ€Ρ‹Π» Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ, скопировал ΠΎΡ‚ Ρ‚ΡƒΠ΄Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ вставил Π² Π½Π°ΡˆΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Π·Π°ΠΊΡ€Ρ‹Π² Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ эти Π΄Π°Π½Π½Ρ‹Π΅ были скопированы

Sub НазваниС_ΠœΠ°ΠΊΡ€ΠΎΡΠ°2() 'ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Workbooks.Open Filename:="C:Π”Π°Π½Π½Ρ‹Π΅.xlsx"  'Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ ΠΊΠ½ΠΈΠ³Π΅ Π½Π° листС 1 Workbooks("Π”Π°Π½Π½Ρ‹Π΅.xlsx").Worksheets("Лист1").Range("A16:E16").Copy 'АктивируСм Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ Workbooks("Книга1.xlsm").Activate  'ВыдСляСм ΠΈ вставляСм скопированныС Π΄Π°Π½Π½Ρ‹Π΅ Π² ячСйку А1 ActiveWorkbook.Worksheets("Лист1").Range("A1").Select ActiveSheet.Paste  'Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΌΡ‹ скопировали Π΄Π°Π½Π½Ρ‹Π΅ Workbooks("Π”Π°Π½Π½Ρ‹Π΅.xlsx").Close End Sub 

Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Β β€” Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Excel Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… листов (Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 3-Ρ… листов) Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, которая хранится Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ мСстС. Π”Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ вставлСны ΠΊΠ°ΠΊ значСния, плюс Π±ΡƒΠ΄ΡƒΡ‚ пСрСнСсСны форматы ячССк.

Sub ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ_листы_Π²_Π΄Ρ€ΡƒΠ³ΡƒΡŽ_ΠΊΠ½ΠΈΠ³Ρƒ() Dim bookconst As Workbook Dim abook As Workbook Set abook = ActiveWorkbook 'присваиваСм ΠΏΠ΅Ρ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Set bookconst = Workbooks.Open("C:UsersUserDesktop1.xlsx") 'присваиваСм ΠΏΠ΅Ρ€ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΡƒΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅  'ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΎΡ‚ΠΊΡƒΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ abook.Worksheets("Лист1").Activate Range("A1:I23").Copy 'ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ листа, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ свой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ bookconst.Worksheets("Лист1").Activate 'Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ лист ΠΊΡƒΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Range("A1:I23").Select 'встаСм Π½Π° ячСйку А1 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ячССк Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False 'Π²Ρ‚ΠΎΡ€ΠΎΠΉ лист abook.Worksheets("Лист2").Activate Range("A1:I23").Copy bookconst.Worksheets("Лист2").Activate Range("A1:I23").Select 'выдСляСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ячССк Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False 'Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ лист abook.Worksheets("Лист3").Activate Range("A1:I23").Copy bookconst.Worksheets("Лист3").Activate Range("A1:I23").Select 'выдСляСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'вставляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ячССк Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False 'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ bookconst.Save 'Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ bookconst.Close abook.Activate End Sub 

Если ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π°, Ρ‚ΠΎ Π±ΡƒΠ΄Ρƒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Π΅ΠΉ со своими Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ располоТСнных ниТС.

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

Иногда ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ VBA. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Π²Π°ΡˆΡƒ ΠΊΠ½ΠΈΠ³Ρƒ для выполнСния Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡.

РСшСниС(ия):

Β  Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ макросы позволят ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π² Excel VBA β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для вновь созданной Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

Β  Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ для создания Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ сохранСния Π½Π° дискС C с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ».

Код:

Sub AddNewWorkbook1()  'Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ  Workbooks.Add  'Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ  ActiveWorkbook.SaveAs "C:WorkbookName.xls"  'OR  ActiveWorkbook.SaveAs Filename:="C:WorkbookName1.xls"  End Sub  

ОбъяснСниС:

  1. ΠœΠ΅Ρ‚ΠΎΠ΄ добавлСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈΒ  Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
  2. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³ΡƒΒ ΠΌΠ΅Ρ‚ΠΎΠ΄ сохранит Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ мСстС с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°

Π’Ρ‹Π²ΠΎΠ΄: Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ вмСстС с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Excel
  2. НаТмитС Alt + F11, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA.
  3. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ· мСню «Вставка»
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ΄Π°
  5. НаТмитС F5, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄
  6. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.
  7. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΠΊΡ€ΠΎΡΡŠΠ΅ΠΌΠΊΠΈ
    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для вновь созданной ΠΊΠ½ΠΈΠ³ΠΈ

    Β  Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ вновь ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ вашСй ΠΊΠ½ΠΈΠ³Π΅ для выполнСния Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡.

    Код:

    sub AddNewWorkbook2()  Dim wkb as Workbook  'Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ  Set wkb = Workbooks.Add  'Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ  wkb.SaveAs "C:WorkbookName.xls"  'OR  wkb.SaveAs Filename:="C:WorkbookName1.xls"  End Sub  

    Π’Ρ‹Π²ΠΎΠ΄:

    Β  Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ вмСстС с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ.

    Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ:

    1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Excel
    2. НаТмитС Alt + F11, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA.
    3. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ· мСню «Вставка»
    4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ΄Π°
    5. НаТмитС F5, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄
    6. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.
    7. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΠΊΡ€ΠΎΡΡŠΠ΅ΠΌΠΊΠΈ

      Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ листа. Activate (Excel) | Microsoft Docs



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

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

      Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, листа, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ встроСнной Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.Occurs when a workbook, worksheet, chart sheet, or embedded chart is activated.

      БинтаксисSyntax

      Expression. Активацияexpression.Activate

      Expression (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ листа .expression A variable that represents a Worksheet object.

      Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Return value

      NothingNothing

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

      Π­Ρ‚ΠΎ событиС Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.This event doesn’t occur when you create a new window.

      ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΈΠ³Ρƒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ событиС WindowActivate , Π½ΠΎ событиС Activate для ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ происходит.When you switch between two windows showing the same workbook, the WindowActivate event occurs, but the Activate event for the workbook doesn’t occur.

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

      Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся сортировка Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° a1: A10 ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ листа.This example sorts the range A1:A10 when the worksheet is activated.

      Private Sub Worksheet_Activate() 
       Me.Range("a1:a10").Sort Key1:=Range("a1"), Order1:=xlAscending 
      End Sub
      

      ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связь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 ΠΏΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ†ΠΈΠΊΠ» ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Open.

      ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ

      Бпособ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π»ΠΈ рабочая ΠΊΠ½ΠΈΠ³Π°, позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ состояниС провСряСмой ΠΊΠ½ΠΈΠ³ΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ экзСмплярС прилоТСния Excel, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

      ИспользованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

      Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ функция VBA Excel, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° рабочая ΠΊΠ½ΠΈΠ³Π°, ΠΏΡƒΡ‚Π΅ΠΌ опрСдСлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° присвоСния ссылки Π½Π° Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚ΠΎΡΠ»ΠΎΡΡŒ (BookOpenClosed = True) – ΠΊΠ½ΠΈΠ³Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΈ присвоСниС Π½Π΅ ΡΠΎΡΡ‚ΠΎΡΠ»ΠΎΡΡŒ (BookOpenClosed = False) – ΠΊΠ½ΠΈΠ³Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°.

      Function BookOpenClosed(wbName As String) As Boolean

      Β Β Β Β Dim myBook As Workbook

      Β Β Β Β On Error Resume Next

      Β Β Β Β Β Β Β Β Set myBook = Workbooks(wbName)

      Β Β Β Β BookOpenClosed = Not myBook Is Nothing

      End Function

      АргумСнт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

      • WbName – ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ имя провСряСмой Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

      ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ½ΠΈΠ³ Ρ†ΠΈΠΊΠ»ΠΎΠΌ

      Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ BookOpenClosed ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ Excel ΠΈ провСряСт ΠΈΡ… ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π° совпадСниС с ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ провСряСмой ΠΊΠ½ΠΈΠ³ΠΈ. Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ (BookOpenClosed = True) – ΠΊΠ½ΠΈΠ³Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°, совпадСниС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ (BookOpenClosed = False) – ΠΊΠ½ΠΈΠ³Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°.

      Function BookOpenClosed(wbName As String) As Boolean

      Β Β Β Β Dim myBook As Workbook

      Β Β Β Β For Each myBook In Workbooks

      Β Β Β Β Β Β Β Β If myBook.Name = wbName Then

      Β Β Β Β Β Β Β Β Β Β Β Β BookOpenClosed = True

      Β Β Β Β Β Β Β Β Β Β Β Β Exit For

      Β Β Β Β Β Β Β Β End If

      Β Β Β Β Next

      End Function

      Π’ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Workbooks входят ΠΈ скрытыС ΠΊΠ½ΠΈΠ³ΠΈ, Π² Ρ‚ΠΎΠΌ числС Личная ΠΊΠ½ΠΈΠ³Π° макросов, ΠΈ ΠΊΠ½ΠΈΠ³Π° с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

      ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ

      ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Open позволяСт ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π»ΠΈ рабочая ΠΊΠ½ΠΈΠ³Π° ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом: Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ экзСмпляром Excel, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π΄Ρ€ΡƒΠ³ΠΈΠΌ экзСмпляром Excel ΠΈΠ»ΠΈ сторонним ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

      Function BookOpenClosed(wbFullName As String) As Boolean

      Β Β Β Β Dim ff As Integer

      Β Β Β Β ff = FreeFile

      Β Β Β Β Β Β Β Β On Error Resume Next

      Β Β Β Β Β Β Β Β Open wbFullName For Random Access Read Write Lock Read Write As #ff

      Β Β Β Β Β Β Β Β Close #ff

      Β Β Β Β BookOpenClosed = (Err.Number <> 0)

      End Function

      АргумСнт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

      • wbFullName – ΠΏΠΎΠ»Π½ΠΎΠ΅ имя провСряСмой Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

      Π­Ρ‚Π° функция ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Open Ρ„Π°ΠΉΠ» провСряСмой ΠΊΠ½ΠΈΠ³ΠΈ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ чтСния ΠΈ записи (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ access) ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΎΠΌ чтСния ΠΈ записи, Ссли этот Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ lock).

      Если Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом, Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ доступа (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ access) Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ lock), опСрация открытия Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ с ошибкой, Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Err.Number 0) Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True.

      ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния ΠΊΠ½ΠΈΠ³ΠΈ

      По ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ

      Sub Primer1()

      Β Β Β Β If BookOpenClosed(«ΠšΠ½ΠΈΠ³Π°1.xlsx») Then

      Β Β Β Β Β Β Β Β MsgBox «ΠšΠ½ΠΈΠ³Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°»

      Β Β Β Β Else

      Β Β Β Β Β Β Β Β MsgBox «ΠšΠ½ΠΈΠ³Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°»

      Β Β Β Β End If

      End Sub

      По ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ

      Sub Primer2()

      Β Β Β Β If BookOpenClosed(«C:\Папка1\Папка2\Папка3\Книга1.xlsx») Then

      Β Β Β Β Β Β Β Β MsgBox «ΠšΠ½ΠΈΠ³Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°»

      Β Β Β Β Else

      Β Β Β Β Β Β Β Β MsgBox «ΠšΠ½ΠΈΠ³Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°»

      Β Β Β Β End If

      End Sub

      excel-vba — Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования SELECT ΠΈΠ»ΠΈ ACTIVATE

      ΠΏΡ€ΠΈΠΌΠ΅Ρ€

      ΠžΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Select ΠΈΠ»ΠΈ Activate Π² своСм ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Excel Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист ΠΈΠ»ΠΈ рабочая ΠΊΠ½ΠΈΠ³Π° Π±Ρ‹Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

      Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ VBA, Π²Π°ΠΌ часто прСдлагаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ваши дСйствия с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°ΠΊΡ€ΠΎΡΡŠΠ΅ΠΌΡ‰ΠΈΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠΎΠ΄. НапримСр, я записал дСйствия, прСдпринятыС для Π²Π²ΠΎΠ΄Π° значСния Π² ячСйкС D3 Π½Π° Sheet2, ΠΈ ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

      Option Explicit
      Sub Macro1()
      '
      ' Macro1 Macro
      '
      
      '
          Sheets("Sheet2").Select
          Range("D3").Select
          ActiveCell.FormulaR1C1 = "3.1415"   '(see **note below)
          Range("D4").Select
      End Sub
      

      ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠ°ΠΊΡ€ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ создаСт строку ΠΊΠΎΠ΄Π° для ΠšΠΠ–Π”ΠžΠ“Πž ΠΈΠ· Π²Π°ΡˆΠΈΡ… (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ…) дСйствий. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Sheet2 ( Sheets("Sheet2").Select ), Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎ ячСйкС D3 ΠΏΠ΅Ρ€Π΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ значСния ( Range("D3").Select ) ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиши Enter (которая эффСктивно Β« Π²Ρ‹Π±Ρ€Π°Π² «ячСйку Π½ΠΈΠΆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ячСйки: Range("D4").Select ).

      БущСствуСт нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с использованиСм. .Select здСсь:

      • Π Π°Π±ΠΎΡ‡ΠΈΠΉ лист Π½Π΅ всСгда указываСтся. Π­Ρ‚ΠΎ происходит, Ссли Π²Ρ‹ Π½Π΅ мСняСтС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы Π²ΠΎ врСмя записи ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ даст Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… листов.
      • .Select() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π”Π°ΠΆΠ΅ Ссли для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Application.ScreenUpdating установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False , это нСобработанная опСрация, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π°.
      • .Select() нСуправляСм. Если Application.ScreenUpdating остаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ True , Excel Π±ΡƒΠ΄Π΅Ρ‚ фактичСски Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ячСйки, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Ρ„ΠΎΡ€ΠΌΡƒ … нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, с Ρ‡Π΅ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π­Ρ‚ΠΎ стрСссово для Π³Π»Π°Π· ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСприятно ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ.
      • .Select() Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎ, Π½ΠΎ Ссли Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Worksheet_SelectionChange() .

      Когда Π²Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π² VBA, всС дСйствия Β«Π½Π°Π±Ρ€Π°Π²Β» (Ρ‚. Select ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Select ) большС Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Π’Π°Ρˆ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свСдСн ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку:

      '--- GOOD
      ActiveWorkbook.Sheets("Sheet2").Range("D3").Value = 3.1415
      
      '--- BETTER
      Dim myWB      As Workbook
      Dim myWS      As Worksheet
      Dim myCell    As Range
      
      Set myWB = ThisWorkbook             '*** see NOTE2
      Set myWS = myWB.Sheets("Sheet2")
      Set myCell = myWS.Range("D3")
      
      myCell.Value = 3.1415
      

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

      ** ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•. ΠœΠ°ΠΊΡ€ΠΎΡΡŠΠ΅ΠΌΡ‰ΠΈΠΊ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅, Π² этом случаС Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² качСствС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для создания значСния. Π’Π°Ρˆ ΠΊΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ этого ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ просто Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСпосрСдствСнно ячСйкС, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.

      ** ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 2: рСкомСндуСмая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ThisWorkbook вмСсто ActiveWorkbook (Ссли явно Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ваш макрос ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ / ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы Π² любой ΠΊΠ½ΠΈΠ³Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ΄ VBA, ΠΈ НЕ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ — ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Ссли Π²Ρ‹ явно Π½Π΅ Π½Π°Π·ΠΎΠ²Π΅Ρ‚Π΅ свой ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ. Когда Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ нСсколько ΠΊΠ½ΠΈΠ³ Π² Excel, ActiveWorkbook — это Ρ‚Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, просматриваСмой Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA . Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡΡ‹Π»Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ThisWorkbook относится ΠΊ ΠΊΠ½ΠΈΠ³Π΅, содСрТащСй исполняСмый ΠΊΠΎΠ΄.

      excel — VBA — ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

      I want to read a workbook and copy some cells in another workbook.
      The aim of the code is to copy the cells from the different sheets from one file to the other.

      For this propose, I created this code:

      Sub processCopy(file)
      
      'Abrir documento
      Workbooks.Open Filename:=file, UpdateLinks:=0
      
      
      cantn = ThisWorkbook.Sheets.Count
      cantv = Sheets.Count - 5
      cantn = cantn - 4
      
      'Recorrer los libros del documento abierto
      For i = 1 To (Sheets.Count - 5)
      
             'Obtener nombre del libro seleccionado
             nombre = Sheets(i + 2).Name
             'Filtrar los libros no necesarios
             If nombre <> "Instructions" And nombre <> "Executive Summary" And nombre <> "Process Update" And nombre <> "Template" And nombre <> "Notes" Then
      
                 If cantv >= cantn Then
                  ThisWorkbook.Sheets(3).copy after:=ThisWorkbook.Sheets(cantn + 2)
                  cantn = cantn + 1
                  ThisWorkbook.Sheets(cantn + 2).Name = nombre
                 ElseIf nombre <> ThisWorkbook.Sheets(cantn + 2).Name Then
                  ThisWorkbook.Sheets(cantn + 2).Name = nombre
                 End If
      
                 Workbooks.Open Filename:=file, UpdateLinks:=0
      
                 ActiveWorkbook.Worksheets(nombre).Activate
      
                 ActiveWorkbook.Sheets(nombre).Range("C4:O23").Select
                 Selection.copy
                 ThisWorkbook.Sheets(nombre).Range("C4:O23").PasteSpecial
      

      After finishing the process in the first sheet, I compare if in the new file there is any other sheet to start with the process. If not (always) I create a new sheet to start with the process of copying and pasting, but the functions ThisWorkbook and ActiveWorkbook are working on the same sheet (copying and pasting from the same Workbook) and not from one file to the other.

      That is why, I open the first workbook, but when the process of copying and pasting finishes, this message appears:

      Error image

      What can i do to solve it this issue?

      Thanks for all

      Excel VBA: ΠΊΠ°ΠΊ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π±Π΅Π· Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ? — excel

      Π£ мСня ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ нСсколько ΠΊΠ½ΠΈΠ³ excel. Π― Ρ…ΠΎΡ‡Ρƒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, которая ΠΈΠΌΠ΅Π΅Ρ‚ «Final» Π² своСм ΠΈΠΌΠ΅Π½ΠΈ.

      ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ρƒ мСня Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «Workbook1.xlsx», «worKbook2.xlsm» ΠΈ «workbookFinal.xlsx», ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

      Мой ΠΊΠΎΠ΄ VBA находится Π² «Macro.xlsm». Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VBA, я Ρ…ΠΎΡ‡Ρƒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ «Final». FYI .. всС ΠΊΠ½ΠΈΠ³ΠΈ находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… направлСниях.

      excel

      vba

      excel-vba

      ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

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


      Pratik Β  Β 

      09 фСвраля 2017 Π² 09:13

      2 ΠžΡ‚Π²Π΅Ρ‚Π°



      2

      Ρ†ΠΈΠΊΠ» Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Workbooks Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ имСнованная ΠΊΠ½ΠΈΠ³Π°:

      Sub wbs()
          Dim wb As Workbook
      
          For Each wb In Workbooks
              If InStr(wb.Name, "Final") > 0 Then
                  wb.Activate
                  Exit For
              End If
          Next
      End Sub
      

      ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


      user3598756 Β  Β 

      09 фСвраля 2017 Π² 09:16



      2

      ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Like с wild-ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ * .

      Option Explicit
      
      Sub FindFinalWorkbook()
      
      Dim wb As Workbook
      
      ' loop through all open workbooks
      For Each wb In Application.Workbooks
          If wb.Name Like "*Final*" Then '< -- check if workbook name is Like *Final*
              wb.Activate
              Exit For
          End If
      Next wb
      
      End Sub
      

      ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


      Shai Rado Β  Β 

      09 фСвраля 2017 Π² 09:18


      ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

      imacro для excel vba?

      НуТна ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ imacro Π² excel vba. imacro-это ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ макросов ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ Π² internet explorer ΠΈ firefox. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ imacro с…

      Excel/VBA: ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΠΎΠ²ΡƒΡŽ ΠšΠ½ΠΈΠ³Ρƒ Π’ Новом ОкнС

      Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Excel 2010 ΠΈ ΠΈΡ‰Ρƒ сцСнарий VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, я ΠΌΠΎΠ³ Π±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΈΠ³Ρƒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· 2 ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ²). Π—Π°Ρ‚Π΅ΠΌ я Π±Ρ‹ помСстил этот макрос VBA/Π½Π° Π»Π΅Π½Ρ‚Ρƒ…

      Как ввСсти ΠΊΠΎΠ΄ VBA Π² Excel .xlsm Π±Π΅Π· использования Interop?

      Моя Ρ†Π΅Π»ΡŒ-Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ macros Π² ΠšΠ½ΠΈΠ³Ρƒ excel Π±Π΅Π· нСобходимости Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Trust Access to the VBA Project Object Module Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ довСрия Excel. (Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ доступа каТСтся ΡƒΠ³Ρ€ΠΎΠ·ΠΎΠΉ бСзопасности). НашСл…

      Как Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ лист?

      Как Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ? Π£ мСня Π΅ΡΡ‚ΡŒ тСкущая ΠΊΠ½ΠΈΠ³Π° с dumb.xls ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠ°ΠΊ Tire.xls.I ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Tire.xls ΠΈΠ· dumb.xls с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ worksbooks.open filename:= name of…

      Excel VBA Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Ошибка 1004

      Π£ мСня Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄ VBA Π² ΠΊΠ½ΠΈΠ³Π΅ Excel. Π£ мСня Π΅ΡΡ‚ΡŒ ячСйка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π±Π΅Π· сохранСния (вмСсто использования ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ (X) close Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ excel….

      Excel VBA ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

      Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Excel VBA . Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… листа Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ excel ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ the Π² E3. Π’ качСствС бонуса я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ…

      Excel VBA ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов XL-2007 ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» excel-2003 Π±Π΅Π· macros

      Π― ΠΈΡ‰Ρƒ макрос vba, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлаСт копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ макросов Excel 2007 с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽ ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π±Π΅Π· макросов Excel 2003. Он Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ…

      Как Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, которая ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° с использованиСм ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π² VBA

      Π£ мСня ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° открытая ΠΊΠ½ΠΈΠ³Π°, Π½ΠΎ я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ макрос ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π΅ имя. Код: FileName = input_path_1 & input_file_1…

      ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лист excel ΠΈΠ· VBA, Π½Π΅ зная Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ?

      МоТно Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лист Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Ρ‡Π΅Ρ€Π΅Π· VBA, Π½Π΅ зная Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ? Π― ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ ΠΊΠ½ΠΈΠ³Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ application.getfileopenname ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅Π΅, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ…

      VBA ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ excel Π½Π° основС ΠΏΠ΅Ρ€Π²ΠΎΠΉ части ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°?

      Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ excel с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ vba: ‘Open Planner On Error Resume Next Set WB = Workbooks((FILE NAME).xlsx) On Error GoTo 0 If WB Is Nothing Then ‘open workbook if not open Set WB =…

      Книга

      Excel Π½Π΅ активируСтся ΠΏΡ€ΠΈ запускС макроса — Office

      • 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅
      • ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ:
        ΠŸΠ°ΠΊΠ΅Ρ‚ обновлСния 1 для Office 2013, Excel 2013

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

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

      Office 365 ProPlus пСрСимСновываСтся Π² Microsoft 365 Apps for Enterprise .Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± этом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ см. Π’ этом сообщСнии Π² Π±Π»ΠΎΠ³Π΅.

      Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌΡ‹

      ΠŸΡ€ΠΈ запускС макроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Workbook.Activate Π² ΠΊΠ½ΠΈΠ³Π΅ Microsoft Excel 2013, ΠΊΠ½ΠΈΠ³Π° Π½Π΅ активируСтся, Ссли для свойства ScreenUpdating Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False.

      Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

      Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, установитС для свойства ScreenUpdating Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Activate. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ для Π½Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False послС запуска ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Activate, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π°:

        ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.ScreenUpdating = True
      Π Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΈ (1). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
      Application.ScreenUpdating = False
        

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

      Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ экрана ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ для Excel Π²ΠΎ врСмя выполнСния макроса.

      Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация

      Π’ Excel 2013 Π±Ρ‹Π»Π° прСдставлСна ​​функция интСрфСйса Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (SDI). Книги Excel 2013 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠΊΠ½Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π² Windows. Π’ этой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Windows ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΎΠΊΠΎΠ½, Π° Π½Π΅ Excel, управляя Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

      Π’ сцСнарии, описанном Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Β», Excel Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ Windows, Π½ΠΎ ΠΎΠΊΠ½ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ соотвСтствуСт трСбованиям Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Windows.

      .

      ΠžΠ±ΡŠΠ΅ΠΊΡ‚ «Π Π°Π±ΠΎΡ‡Π°Ρ ΠΊΠ½ΠΈΠ³Π°» (Excel) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

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

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

      ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΊΠ½ΠΈΠ³Ρƒ Microsoft Excel.

      ЗамСчания

      ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Workbook являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks . ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Workbooks содСрТит всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Workbook , ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π² настоящСС врСмя Π² Microsoft Excel.

      Бвойство ThisWorkbook ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Application Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΈΠ³Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся ΠΊΠΎΠ΄ Visual Basic. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ активная ΠΊΠ½ΠΈΠ³Π°. Однако, Ссли ΠΊΠΎΠ΄ Visual Basic являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ надстройки, свойство ThisWorkbook Π½Π΅ Π²Π΅Ρ€Π½Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Π’ этом случаС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ являСтся ΠΊΠ½ΠΈΠ³Π°, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ надстройку, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ свойство ThisWorkbook Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΈΠ³Ρƒ надстройки.

      Если Π²Ρ‹ создаСтС надстройку ΠΈΠ· ΠΊΠΎΠ΄Π° Visual Basic, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство ThisWorkbook , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π² надстройку.

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

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

        Π Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΈ (1) .ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
        

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

      Бвойство Name Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя ΠΊΠ½ΠΈΠ³ΠΈ. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ имя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого свойства; Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ SaveAs , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

      Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ активируСтся Sheet1 Π² ΠΊΠ½ΠΈΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Cogs.xls (ΠΊΠ½ΠΈΠ³Π° ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π² Microsoft Excel).

        Π Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ (Β«Cogs.xlsΒ»). Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы («Лист1Β»). ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
        

      Бвойство ActiveWorkbook ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Application Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ задаСтся имя Π°Π²Ρ‚ΠΎΡ€Π° для Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ.

        ActiveWorkbook.Author = "Π–Π°Π½ БСльва"
        

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

        Sub SendTab ()
         'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ свои ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана.
         Dim wks ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист
         Application.ScreenUpdating = False
         Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ wks = ActiveSheet
         
         'Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ячСйкС C1, Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.
         Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы (Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("C1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
         
         'ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ содСрТимоС Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π° адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ячСйкС A1,
         'ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ΠΌΡƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ячСйкС B1.
         ActiveWorkbook.SendMail wks.Range ("A1"). Value, wks.Range ("B1").Π¦Π΅Π½Π½ΠΎΡΡ‚ΡŒ
         
         'НС ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ измСнСния ΠΈ снова Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана.
         ActiveWorkbook.Close savechanges: = False
         Application.ScreenUpdating = True
      ΠšΠΎΠ½Π΅Ρ† подписки
        

      Бобытия

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

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

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

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

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

      .

      ΠœΠ΅Ρ‚ΠΎΠ΄ Workbook.Protect (Excel) | Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Microsoft

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

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

      Π—Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ нСльзя Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

      Бинтаксис

      Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ . Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ( ΠŸΠ°Ρ€ΠΎΠ»ΡŒ , Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° , Windows )

      Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Workbook .

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

      Имя ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ / Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
      ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ. Если этот Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡƒΡ‰Π΅Π½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ½ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ с листа ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π±Π΅Π· использования пароля. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ с листа ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.Если Π²Ρ‹ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π²Ρ‹ Π½Π΅ смоТСтС ΡΠ½ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ.

      Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, состоящиС ΠΈΠ· прописных ΠΈ строчных Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ символов. Π‘Π»Π°Π±Ρ‹Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ эти элСмСнты. НадСТный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: Y6dh! Et5. Π‘Π»Π°Π±Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: House27.

      ΠŸΠ°Ρ€ΠΎΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 8 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ символов. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„Ρ€Π°Π·Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· 14 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ символов.

      ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Если Π²Ρ‹ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Microsoft Π½Π΅ смоТСт Π΅Π³ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ записанныС ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π² Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΌ мСстС Π²Π΄Π°Π»ΠΈ ΠΎΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ.

      Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ True для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ структуры ΠΊΠ½ΠΈΠ³ΠΈ (Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ располоТСния листов). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — Π›ΠΎΠΆΡŒ .
      Окна Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ True для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΠΊΠΎΠ½ ΠΊΠ½ΠΈΠ³ΠΈ.Если этот Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡƒΡ‰Π΅Π½, ΠΎΠΊΠ½Π° Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹.

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

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

      .

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

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