Excel 如何打开工作表并将其合并到一个包含多个工作表的文件中?

Excel 如何打开工作表并将其合并到一个包含多个工作表的文件中?,excel,vba,hyperlink,consolidation,Excel,Vba,Hyperlink,Consolidation,我有一个用户在单元格A1到A20中输入20个存储编号。单元格B1到B20将具有每个门店编号所具有的超链接,例如:单元格B1到B20将具有以下公式:=超链接C:\store number&A1&.xls 如何一次打开所有这些超链接而不必单击单元格B1到B20 20次? 如果用户只想查看10个文件而不是20个文件,该怎么办?如果我创建一个VBA来打开单元格B1到B20中的所有超链接,但用户只输入10个存储,那么我将遇到调试问题。 打开这些文件后,如何将它们合并到一个最多包含20张工作表/选项卡的文件

我有一个用户在单元格A1到A20中输入20个存储编号。单元格B1到B20将具有每个门店编号所具有的超链接,例如:单元格B1到B20将具有以下公式:=超链接C:\store number&A1&.xls

如何一次打开所有这些超链接而不必单击单元格B1到B20 20次? 如果用户只想查看10个文件而不是20个文件,该怎么办?如果我创建一个VBA来打开单元格B1到B20中的所有超链接,但用户只输入10个存储,那么我将遇到调试问题。 打开这些文件后,如何将它们合并到一个最多包含20张工作表/选项卡的文件中?每个存储文件具有相同的格式和相同的图纸名称:Sheet1。
非常感谢你的帮助

欢迎来到StackOverflow。我对你的问题1和2找到了一个很好的答案。但正如OP评论的那样,这些是用于web超链接,而不是文件超链接

我没有用VBA解决问题3,但我已经手动完成了,方法是右键单击要复制的选项卡,然后在上下文弹出窗口中选择“移动”或“复制”。然后我将这张纸复制到新创建的书中

编辑: 我建议您将超链接更改为纯文本。然后,以下VBA将打开选定单元格中的文件名

Dim fileName As String
For Each vCell In Selection
    fileName = vCell.Value
    Workbooks.Open fileName
Next vCell

这可能会让您开始第3部分

Sub ConsolidateAllSheet1()

    Dim wbCons As Excel.Workbook
    Dim wb As Excel.Workbook
    Dim wbName As String

    Set wbCons = Workbooks.Add()
    For Each wb In Application.Workbooks
        wbName = wb.Name
        If wbName Like "Store Number*" And _
           wbName <> ThisWorkbook.Name Then

           wb.Sheets("Sheet1").Copy _
                 after:=wbCons.Sheets(wbCons.Sheets.Count)
           wbCons.Sheets(wbCons.Sheets.Count).Name = _
                   Replace(wbName, ".xls", "")

           'wb.Close False 'save without changes
        End If
    Next wb

End Sub

=IFA1,HYPERLINKC:\storenumber&A1&.xls,我想它们指的是打开网址的超链接。