在用VBA实现多工作表逆序打印的代码执行时,总是报告数组越界!,调试后,发现原来多选的工作表只剩下一个工作表了!,不知道如何防止printout方法
改变Excel 工作表的选择状态?
代码如下:
For i = ActiveWindow.SelectedSheets.Count To 1 Step -1
If xYesorNo = vbYes Then
For xPage = Int(xStartPage) To xTotalPages Step 2
ActiveWindow.SelectedSheets(i).PrintOut from:=xPage, To:=xPage
Next
Else
Exit Sub
End If
Next
VBA printout 方法改变了工作表选择
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
CSDN专家-showbo 2021-10-07 12:28关注应该用数组先存选中的Sheet的Name,打印时通过存储的Sheet Name获取sheet后打印。
题主要的代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~'用数组存选中的Sheet Name Dim selectedSheets() Count = ActiveWindow.selectedSheets.Count - 1 ReDim selectedSheets(Count) For i = 1 To ActiveWindow.selectedSheets.Count selectedSheets(i - 1) = ActiveWindow.selectedSheets(i).Name Next '打印对应的Sheet For i = 0 To Count If xYesorNo = vbYes Then For xPage = Int(xStartPage) To xTotalPages Step 2 Sheets(selectedSheets(i)).PrintOut from:=xPage, To:=xPage Next Else Exit Sub End If Next本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用