excel - 作为组合框 VBA 的输入函数

标签 excel vba

我正在构建一个宏,它将运行然后暂停宏并允许用户输入一个值然后再次继续运行。我知道有可用的 InputBox 功能,但我希望弹出的框是一个下拉列表。我不知道如何做到这一点,任何帮助将不胜感激。

最佳答案

Siddharth thank you for the response! would you mind showing me a example of what the code would look like – fishing king 13 6 mins ago

希望这能让您走上正轨......

添加一个用户表单并向其中添加一个组合框。我在组合中添加了一些基本数据,以向您展示它是如何工作的。根据情况进行更改

enter image description here

您的用户表单将有一个类似这样的代码

Private Sub UserForm_Initialize()
    With ComboBox1
        .AddItem "option1"
        .AddItem "option2"
        .AddItem "option3"
        .AddItem "option4"
        .AddItem "option5"
    End With
End Sub

Private Sub CommandButton1_Click()
    If ComboBox1.Text <> "" Then MsgBox "the user chose or typed " & ComboBox1.Text
End Sub

接下来修改你的宏,使其看起来像这样

Sub Sample()
    '
    '~~> Do Some Stuff
    '
    UserForm1.Show
    '
    '~~> Continue doing Some Stuff
    '
End Sub

评论跟进

One more question If the value of my drop down come from a named range. How do I define that? – fishing king 13 3 mins ago

使用.List而不是.AddItem

Private Sub UserForm_Initialize()
    ComboBox1.List = Application.Transpose(Range("MyNamedRange"))
End Sub

关于excel - 作为组合框 VBA 的输入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21585759/

相关文章:

excel - 将实时超链接更改为文本 URL 的代码不起作用

vba - 这是 VBA 的 IsNumeric 和 CDbl() 函数中的错误吗?

arrays - 为什么当通过 ParamArray 将数组元素传递给函数时,函数中会到达 varpointer?

vba - Powerpoint 事件处理 - 阻止新演示文稿

Excel从字符串的任意部分提取一个单词

excel - Excel 条件格式中的多个条件

vba - VBE 立即窗口如何处理文字数字?

regex - 从选定的 Unicode 希伯来语文本中删除希伯来语元音 (nikkud)

r - 如何修复 OutOfMemoryError (Java) : GC overhead limit exceeded in r?

java - 在用java打开excel文件时出现此错误: Warning: Usage of a local non-builtin name