我动态地为我在表格中创建的每一行添加一个按钮。每个按钮都有一个唯一的名称,并调用相同的功能BtnGoogle。这个函数应该在放置按钮的同一行中返回一个值。由于按钮实际上不是行的一部分,我需要一些方法将行号传输到函数,但是我已经用完了思路:
Set btn = sheet.Buttons.Add(targetCell.Left, targetCell.Top, targetCell.Width, targetCell.RowHeight)
With btn
.OnAction = "BtnGoogle"
.Caption = "Google Tag"
.Name = "Btn" & CStr(lastRow(columns("Button1").Index).Address)
End With
Sub BtnGoogle()
MsgBox Application.Caller
End Sub
我能够以这种方式在消息框中显示按钮名称,但我无法对该调用者执行任何操作并获取从字符串传入的行号。有什么想法吗?
答案 0 :(得分:1)
Sub BtnGoogle()
Dim addr As String
addr = Replace(Application.Caller,"Btn","")
MsgBox ActiveSheet.Range(addr).Value ' for example
End Sub