假设用于显示第一页与第二页的数据有效性单元格位于C2单元格,应当是数据显示区域(考核内容与考核项目等)通过公式(或宏)以C2格显示的内容来更新,所以只要用一段宏,改变C2格的内容并打印当前页就可以了,试试下面代码:
Sub 自动打印()
Range("c2") = "第一页"
ActiveSheet.PrintOut '打印
Range("c2") = "第二页"
ActiveSheet.PrintOut '打印
End Sub
在表格中添加一个按钮,指定宏名“自动打印”就行了。
Sub 批量提取数据有效性下拉列表项目并打印()
Dim rCell As Range
Dim Arr, m
On Error Resume Next
Set rCell = Worksheets("Sheet1").Range("C1")
'将单元格中的数据有效性序列提取到数组
With rCell.Validation
If .Type = 3 Then
If Range(.Formula1) Is Nothing Then
'当数据有效性序列的来源不是单元格区域时
Arr = Split(.Formula1, ",")
Else
Arr = Range(.Formula1).Value
End If
'批量打印
If IsArray(Arr) Then
For Each m In Arr
If m <> "" Then
rCell.Value = m
Worksheets("Sheet1").PrintOut
End If
Next
Else
rCell.Value = Arr
Worksheets("Sheet1").PrintOut
End If
End If
End With
End Sub
运行后即可将每个员工的资料页依次打印出来。