9

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

我试图用 inputbox("",type:=8) 来做到这一点,它可以在工作簿中选择数据,但拒绝让我在不同的工作簿中选择一个范围。

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

4

1 回答 1

22

既然我有空,我为你创造了一个例子

创建一个Userform并放置一个ComboBox、一个RefEdit控件和一个Label

在此处输入图像描述

接下来将此代码粘贴到用户表单中

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

这是您在运行用户窗体时得到的

在此处输入图像描述


在此处输入图像描述


在此处输入图像描述

于 2013-08-08T12:31:45.077 回答