我动态地向表中创建的每一行添加一个按钮。每个按钮都有一个惟一的名称,并调用相同的函数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我可以用这种方式在messagebox中显示按钮名,但是我不能对那个调用者做任何事情,并从字符串中获得我传入的行号。有什么想法吗?
发布于 2016-06-10 22:48:13
Sub BtnGoogle()
Dim addr As String
addr = Replace(Application.Caller,"Btn","")
MsgBox ActiveSheet.Range(addr).Value ' for example
End Subhttps://stackoverflow.com/questions/37750735
复制相似问题