首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用VBA将多个Excel工作簿从特定文件夹导入到单个工作表中

,可以通过以下步骤实现:

  1. 打开一个新的Excel工作簿,作为目标工作簿。
  2. 打开Visual Basic Editor(VBE),按下Alt+F11,或者点击开发工具栏中的Visual Basic按钮。
  3. 在VBE中,选择菜单栏中的“插入”->“模块”,新建一个模块。
  4. 在新建的模块中,编写以下VBA代码:
代码语言:txt
复制
Sub ImportWorkbooks()
    Dim FolderPath As String
    Dim FileName As String
    Dim SourceWorkbook As Workbook
    Dim TargetWorkbook As Workbook
    Dim SourceWorksheet As Worksheet
    Dim TargetWorksheet As Worksheet
    Dim RowCount As Long
    
    ' 设置目标工作簿
    Set TargetWorkbook = ThisWorkbook
    Set TargetWorksheet = TargetWorkbook.Worksheets(1)
    
    ' 设置源文件夹路径
    FolderPath = "C:\YourFolderPath\" ' 替换为你的文件夹路径
    
    ' 获取源文件夹中的所有文件名
    FileName = Dir(FolderPath & "*.xls*")
    
    ' 循环处理每个源工作簿
    Do While FileName <> ""
        ' 打开源工作簿
        Set SourceWorkbook = Workbooks.Open(FolderPath & FileName)
        
        ' 复制源工作簿的第一个工作表到目标工作表中的下一行
        Set SourceWorksheet = SourceWorkbook.Worksheets(1)
        RowCount = TargetWorksheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
        SourceWorksheet.UsedRange.Copy TargetWorksheet.Cells(RowCount, 1)
        
        ' 关闭源工作簿
        SourceWorkbook.Close SaveChanges:=False
        
        ' 获取下一个文件名
        FileName = Dir
    Loop
    
    ' 清理对象变量
    Set TargetWorksheet = Nothing
    Set TargetWorkbook = Nothing
    Set SourceWorksheet = Nothing
    Set SourceWorkbook = Nothing
End Sub
  1. 在代码中的FolderPath变量处,替换为你要导入工作簿的文件夹路径。
  2. 运行宏,按下F5或者点击开发工具栏中的运行按钮。

这段VBA代码将会遍历指定文件夹中的所有Excel工作簿文件(以.xls或.xlsx结尾),将每个工作簿的第一个工作表复制到目标工作表中的下一行。你可以根据需要自定义目标工作表和复制方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券