Как распечатать дублированный лист с VBA? - PullRequest
0 голосов
/ 30 января 2019

Когда я использую приведенный ниже код

ThisWorkbook.Sheets("DB_Main").Copy _
After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

, я получаю новый лист с именем DB_Main (2)

Я ищу способ распечатать эти 2 листа с моего "Main""лист с помощью кнопки.На листе DB_Main на страницах 4 и 5, а также на листе DB_Main (2) на страницах 4,5,6 и 7.

Как обнаружить скопированный лист?Есть идеи, как заставить это работать?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Я пытаюсь зациклить все листы и сравнить ячейку A1, если она равна 1. Ее работа такова.

Private Sub CommandButton6_Click()
Dim allshts As Worksheet
For Each allshts In ActiveWorkbook.Worksheets
If allshts .Range("A1").Value = 1 Then
allshts .PrintOut From:=1, To:=1
End If
Next allshts 

End Sub
0 голосов
/ 30 января 2019

Если вы копируете лист, он автоматически получает лист active .Присвойте это переменной, после чего вы можете делать все, что захотите:

Dim oldWs As Worksheet
Set oldWs = ThisWorkbook.Sheets("DB_Main")
oldWs.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Dim newWs As Worksheet
Set newWs = ActiveSheet
' Rename the sheet if you want
newWs.Name = "I am brand new"
' Print out old Main and copy
wb.Worksheets(Array(oldWs.Name, newWs.Name)).PrintOut
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...