VBA对话框,用于选择不同工作簿中的范围

时间:2013-08-08 12:08:09

标签: excel excel-vba range dialog vba

我想允许用户选择可能位于不同工作簿中的范围。

我试图用inputbox(“”,type:= 8)来做这件事,它可以选择工作簿中的数据,但拒绝允许我在不同的工作簿中选择一个范围。

因此我想要一个允许我执行此任务的对话框。

1 个答案:

答案 0 :(得分:21)

由于我有空,我为你创建了一个例子

创建Userform并放置ComboBox,A RefEdit控件和Label

enter image description here

接下来将此代码粘贴到Userform

Private Sub UserForm_Initialize()
    Dim wb As Workbook

    '~~> Get the name of all the workbooks in the combobox
    For Each wb In Application.Workbooks
        ComboBox1.AddItem wb.Name
    Next

    ComboBox1 = ActiveWorkbook.Name
End Sub

'~~> This lets you toggle between all open workbooks
Private Sub Combobox1_Change()
    If ComboBox1 <> "" Then Application.Workbooks(ComboBox1.Text).Activate

    Label1.Caption = "": RefEdit1 = ""
End Sub

'~~> And this lets you choose the relevant range
Private Sub RefEdit1_Change()
    Label1.Caption = ""

    If RefEdit1.Value <> "" Then _
    Label1.Caption = "[" & ComboBox1 & "]" & RefEdit1
End Sub

这是您运行Userform时获得的

enter image description here


enter image description here


enter image description here