我正在构建一个将运行的宏然后暂停宏并允许用户输入值然后再次继续运行。我知道有可用的InputBox功能,但我希望该框能够弹出一个下拉列表。我不知道如何做到这一点,任何帮助将不胜感激。
答案 0 :(得分:1)
Siddharth感谢您的回复!你能不能给我一个代码看起来像的例子 - 钓鱼王13 6分钟前
希望这能让你走上正轨......
添加Userform并向其添加Combobox。我在组合中添加一些基本数据,向您展示它是如何工作的。适用时更改
您的Userform将拥有类似这样的代码
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
通过评论进行跟进
还有一个问题如果我的下拉值来自命名范围。我该如何定义? - fishing king 13 3分钟前
使用.List
代替.AddItem
Private Sub UserForm_Initialize()
ComboBox1.List = Application.Transpose(Range("MyNamedRange"))
End Sub