将参数传递给向onAction事件(VBA-Excel)注册的方法
如何将参数传递给在Excel VBA中使用onAction事件注册的方法 我的密码是:将参数传递给向onAction事件(VBA-Excel)注册的方法,excel,vba,Excel,Vba,如何将参数传递给在Excel VBA中使用onAction事件注册的方法 我的密码是: With ActiveSheet.CheckBoxes.Add(rCell.Left, rCell.Top, rCell.Width, rCell.Height) .Interior.ColorIndex = xlNone .Caption = "" .OnAction = "CheckboxChange" End With 我想将“rCell”传递给“Che
With ActiveSheet.CheckBoxes.Add(rCell.Left, rCell.Top, rCell.Width, rCell.Height)
.Interior.ColorIndex = xlNone
.Caption = ""
.OnAction = "CheckboxChange"
End With
我想将“rCell”传递给“CheckboxChange”子例程。任何方法都可以。基本上,我想知道CheckboxChange子例程中复选框所在的单元格。更改此选项:
.OnAction = "CheckboxChange"
为此:
.OnAction = "'CheckboxChange""" & rCell & """'"
“”=3个双引号
““”=3个双引号、1个单引号和1个双引号,用chr(34)代替引号(“),可能更容易
我有一个带有3个字符串参数的示例:
.OnAction = "'" & ThisWorkbook.Name & "'!'Importer_Items_Temp_par_Menu_Déroulant " & Chr(34) & Nom_Fichier & Chr(34) & " , " & Chr(34) & Old_Val & Chr(34) & " , " & Chr(34) & ThisWorkbook.Sheets("Import_Objets").Cells(Item_Num, q * 2).Value & Chr(34) & "'"
其中Importer_Items_Temp_par_Menu_Déroulant是一个宏
Nom_Fichier是一个字符串变量
老瓦尔也是
ThisWorkbook.Sheets(“导入对象”).Cells(Item_Num,q*2)。值也是一个字符串,来自工作表中的单元格。Excel.Checkbox控件具有属性
LinkedCell
。将此属性设置为rCell.Address
或类似值。将OnAction
设置为CheckboxChange
宏。要获取单击的复选框,请使用Evaluate(Application.Caller)
中的CheckboxChange
Application.Caller
将是复选框的名称,Evaluate
返回复选框对象本身。使用此对象,您可以获取其名称
或链接单元格
我建议使用chr(34)表示“避免这种混乱的多重”情况可能的重复