如何使用VBA打印重复的工作表?

时间:2019-01-30 13:35:41

标签: excel vba

当我使用下面的代码

<label>
  <input type="checkbox" #masterCheckbox [checked]="master" 
  (change)="master=masterCheckbox.checked">
  Check/Uncheck ALL
</label>

<ng-container *ngFor="let chk of checkboxes; let index=index">
  <br>
  <label>
    <input type="checkbox" [checked]="chk.checked" (change)="chk.checked=!chk.checked">
    Checkbox {{index}}
  </label>
</ng-container>

最后我得到了一张名为ThisWorkbook.Sheets("DB_Main").Copy _ After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 的新纸

我正在寻找一种使用按钮从“主”纸上打印这两张纸的方法。 从工作表DB_Main (2)的第4和5页开始,从工作表DB_Main的第4、5、6和7页。

如何检测复印的纸? 有什么想法使它起作用吗?

2 个答案:

答案 0 :(得分:0)

如果您复制工作表,它将自动获得 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

答案 1 :(得分:0)

我尝试循环所有工作表,并比较单元格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