标签:VBA
Q:我有一个工作簿,包含有多个工作表,我想在这些工作表的同一位置都添加一个按钮,并对这些按钮指定相同的宏过程,如何实现?
A:这样的操作最适合使用VBA。
在第一个工作表,假设其名称为“Sheet1”中,在想要添加按钮的位置放置一个大小合适的按钮,编辑修改其上的文字,然后指定宏过程,示例为MacroToRun。
打开VBE,插入一个标准模块,在其中输入下面的代码:
代码语言:javascript复制Sub AddButtons()
Dim ws As Worksheet
Dim oButton As Shape
Dim T As Double, L As Double, H As Double, W As Double
Dim M As String, C As String
Set oButton = Worksheets("Sheet1").Shapes("Button 1")
With oButton
T = .Top
L = .Left
H = .Height
W = .Width
M = .OnAction
ActiveSheet.Shapes.Range(Array("Button 1")).Select
C = Selection.Characters.Text
End With
For Each ws In ThisWorkbook.Worksheets
If Not ws Is Sheet1 Then
ws.Select
ws.Buttons.Add(L, T, W, H).Select
Selection.OnAction = M
Selection.Text = C
End If
Next
End Sub
Sub MacroToRun()
MsgBox ActiveSheet.Name
End Sub
运行AddButtons过程,即可在每个工作表相同位置添加相同大小的按钮并指定相同的宏。