【发布时间】:2015-10-19 11:20:09
【问题描述】:
我正在尝试向 Excel 工作簿添加一个按钮,以便它显示在每个工作表中。对我最初的问题的一个很好的回答给了我一个宏来在每张纸上创建按钮:
Sub AddButtons()
Dim ws As Excel.Worksheet
Dim btn As Button
For Each ws In ThisWorkbook.Worksheets
Set btn = ws.Buttons.Add(X, Y, W, H)
[set btn properties]
Next ws
End Sub
我现在无法设置按钮属性,以便按钮在按下时打印工作表。这里又是我的打印宏:
Dim WS_Count As Integer
Dim i As Integer
' Set WS_Count equal to the number of worksheets in the active workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
'allows user to set printer they want to use
Application.Dialogs(xlDialogPrinterSetup).Show
' Begin the loop.
For i = 5 To WS_Count
Worksheets(i).Activate
With ActiveWorkbook.Worksheets(i).PageSetup
.PrintArea = "A1:O48"
.Orientation = xlLandscape
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
ActiveWorkbook.Worksheets(i).PrintOut
关于如何将此宏合并到按钮属性中(传递变量和创建新的打印子)有一些很好的建议,但是我对 VBA 很陌生,并且未能成功地使其工作。理想情况下,我会有一个按钮宏来创建按钮,每次按下它时都会为每张纸调用打印宏。
最后一件事,我正在尝试更改按钮代码,使其仅将按钮添加到表 5 之后。如果有人也知道如何做到这一点,那就太好了?
任何建议都很有帮助,非常感谢!
【问题讨论】: