工作表上的 Excel VBA : How do I refer to a Form Control,?

标签 excel vba

我已将两个下拉菜单(又名组合框)添加到工作表中 enter image description here

从这个问题(How do I refer to a controls object, on a worksheet, using a variable name?)开始,我尝试了以下实验,但没有成功。

enter image description here

如何访问 Excel 工作表上的控件?我在哪里可以看到刚刚插入的控件的名称/属性?

最佳答案

你可以这样做:

Sub DropDown1_Change()

    Dim s As Object
    Set s = ActiveSheet.Shapes(Application.Caller)
    Debug.Print s.ControlFormat.Value

End Sub

Application.Caller 包含“包含”表单控件的形状的名称

同样,您可以通过名称访问其他控件:

Dim myName as String, c As Object
myName = "List Box 2"
Set c = ActiveSheet.Shapes(myName).ControlFormat

关于工作表上的 Excel VBA : How do I refer to a Form Control,?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52973711/

相关文章:

VBA Excel 2010 - 如何将宏分配给使用宏创建的命令按钮

excel - VBA - 代码执行速度极慢

excel - 调用带参数的子时应使用哪些参数(ByVal Target As Range)

excel - 再次对嵌套循环 VBA 感到困惑

html - 尝试从网站获取一些数据

ms-access - 在Access中使用VBA一次性写入大量数据

vba - excel中12位数字的八进制转二进制

java - 写入 xls 文件时出错 - apache poi 多线程

vba - 即使在复制粘贴路径作为参数后,Dir 函数也找不到文件

excel - 如何在带有邮件线程的 excel 中使用 vba 回复 Outlook 邮件?