Excel 如何打开工作表并将其合并到一个包含多个工作表的文件中?
我有一个用户在单元格A1到A20中输入20个存储编号。单元格B1到B20将具有每个门店编号所具有的超链接,例如:单元格B1到B20将具有以下公式:=超链接C:\store number&A1&.xls 如何一次打开所有这些超链接而不必单击单元格B1到B20 20次? 如果用户只想查看10个文件而不是20个文件,该怎么办?如果我创建一个VBA来打开单元格B1到B20中的所有超链接,但用户只输入10个存储,那么我将遇到调试问题。 打开这些文件后,如何将它们合并到一个最多包含20张工作表/选项卡的文件中?每个存储文件具有相同的格式和相同的图纸名称:Sheet1。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张工作表/选项卡的文件
非常感谢你的帮助 欢迎来到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,我想它们指的是打开网址的超链接。