如何使用FileDialog导入选定的工作表?

时间:2015-11-05 08:55:46

标签: excel excel-vba import combobox master vba

我目前正在尝试组装一个主工作簿,该工作簿将从其他文件导入数据。用户应该能够使用FileDialog选择一个文件到目前为止工作正常。目前无法正常工作的是尝试导入用户应该能够在userform中选择的工作表。 至于我的测试到目前为止,有两种选择:

  • 在UserForm上放置两个ComboBox,每个组合框中包含一个静态值(一个用于文件名,另一个用于工作表名)。由于Import-Sheets将始终是一个选定的类型,并且工作表在将来可能都具有相同的名称,但只有在整个条件都满足时才会这样。
  • UserForm上的一个ComboBox,显示了要导入的工作簿的工作表名称(因为我必须打开它才能将值复制到主工作簿,应该可以将工作表名称解析为组合框)。

我正在尝试使用VBA实现哪些目标?

到目前为止,我还无法将工作表名称放入ComboBox并导入数据。

1 个答案:

答案 0 :(得分:1)

这是一个简短的例子:

With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    'Show and check whether file is selected
    If .Show Then
        'you might wanna check if an excel workbook has been selected, or filter the filedialog upfront
        Dim wbSource As Workbook
        Dim ws As Worksheet
        'Open Workbook
        Set wbSource = Application.Workbooks.Open(.SelectedItems(1))
        'Loop through the available sheets
        For Each ws In wbSource.Sheets
            MsgBox ws.name
        Next

    End If
End With

这应该让你开始 - 而不是显示名称只是将它添加到你的组合框。 之后,您可以继续通过复制和粘贴

导入工作表