我不知道该如何解决这个问题。我确实尝试过使用:
If me.chkTable1 = True Then Sheets(Table3.Name).Select
If me.chkTable2 = True Then Sheets(Table4.Name).Select
但是我发现使用此方法,前一个工作表将取消选择。我想也许一个数组可行。如果me.chkTableX = True的值,则数组将填充工作表。然后在最后我可以选择要打印的数组。
我很新,所以如果我错过了什么,我很抱歉。
答案 0 :(得分:0)
这样的事情会起作用:
Sub sheetselect()
Dim wsStr() As Variant
Dim ostr() As Variant
ReDim wsStr(0 To 0)
If Me.chktable1 = True Then
wsStr(UBound(wsStr)) = table3.Name
ReDim Preserve wsStr(UBound(wsStr) + 1) As Variant
End If
If Me.chktable2 = True Then
wsStr(UBound(wsStr)) = table4.Name
ReDim Preserve wsStr(UBound(wsStr) + 1) As Variant
End If
ReDim ostr(0 To UBound(wsStr) - 1)
For k = 0 To UBound(wsStr) - 1
ostr(k) = wsStr(k)
Next k
Sheets(ostr).Select
End Sub
它加载一个包含工作表名称的数组。然后使用此数组选择正确的工作表。