Excel-VBA:从表单控件中获取值

Car*_*los 11 excel user-controls vba excel-vba

嵌入在工作表中sheet1我有一个名为的Form Control组合框combobox_test,它具有选定的值x

除此之外,我还有一个按钮,当我按下它时,我希望它取值combobox_test并放入something.Rows(y).但我不能让它工作,我有点沮丧.也许你可以指出我正确的方向

Sub ButtonPressed_sample()
    Dim value As String

    Set putItRng = Range("theCells")        
    putItRng.Rows(1) = ActiveSheet.Shapes("combobox_test").Value        
End Sub
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?我是VBA的绝对新手,所以请尽可能详细.谢谢

小智 9

   Sub QuickSelect_Change()
        With ActiveSheet.Shapes("QuickBox")
            MsgBox "My Selected Value " & .ControlFormat.List(.ControlFormat.ListIndex)
        End With
    End Sub
Run Code Online (Sandbox Code Playgroud)


Dic*_*ika 7

我不确定这是你想要的,但这是一个开始.Shape对象没有Value属性,这是错误的来源.Dropdown对象已弃用,但仍可用.

Sub ButtonPressed_sample()

    Set putitrng = Range("theCells")
    putitrng.Rows(1) = ActiveSheet.DropDowns("combobox_test").value

End Sub
Run Code Online (Sandbox Code Playgroud)

  • 注意,不推荐使用DropDowns(和ComboBoxes,Buttons等),因为如果选择将多个形状组合在一起,则组中的控件不会出现在这些集合对象中.所以我想这个评论只是一个警告,不要把你的控件放到任何分组的形状,只要你使用这个方法(我自己也使用):) (3认同)