怎样使用VBA多工作簿合并到本工作表?

 时间:2026-02-14 06:32:59

1、首先在开发工具中打开VBA编辑器

怎样使用VBA多工作簿合并到本工作表?

2、在单元格区域当中输入一些内容作为例子

怎样使用VBA多工作簿合并到本工作表?

3、在VBA编辑器中插入模块

怎样使用VBA多工作簿合并到本工作表?

4、在模块当中输入如下代码,然后运行

Sub多工作簿合并到当前工作表()


 Dim ppath As String, dirname, active_book As String, sheet_count As Long,
  i As Integer, ans As Byte
  ans=Application.InputBox("请确认在工作簿的标题行数:", "标题行", 1, , , , , 1)
    '默认为1
Application.ScreenUpdating=False
'为三个变量赋值
ppath=ActiveWorkbook.Path
active_book=ActiveWorkbook.Name
dirname=Dir(ppath & "\*.xlsx")
'复制标题
If dirname <> active_book Then
      Workbooks.Open Filename:=ppath & "\" & dirname
                                      '打开待汇总的目标工作簿
        Workbooks(active_book).Activate      '激活汇总表
  Workbooks(dirname).Sheets(1).Rows("1:" & ans).Copy Rows("1:" & ans)
  Workbooks(dirname).Close False
End If
'复制所有工作簿数据
Do While dirname <> ""
    If dirname <> active_book Then
      Workbooks.Open Filename:=ppath & "\" & dirname
                                        '打开待汇总的目标工作簿
      sheet_count=Sheets.Count       '为变量赋值为工作簿中工作表数目
      Workbooks(active_book).Activate      '激活汇总表
      For i=1 To sheet_count
                          '复制新打开的工作簿的第一个工作表的已用区域到rng
        Workbooks(dirname).Sheets(i).UsedRange.Offset(ans, 0).Copy
            Range("a1048576").End(xlUp).Offset(1, 0)
      Next
      Workbooks(dirname).Close False
    End If
    dirname=Dir
Loop
Application.ScreenUpdating=True
End Sub

怎样使用VBA多工作簿合并到本工作表?

5、用快捷键Alt+F8调出运行宏窗口,然后单击“执行”按钮,程序弹出提示框,提示输入各工作表标题行数

怎样使用VBA多工作簿合并到本工作表?

  • 在VBA中,currentregion实例运用!
  • 如何在Excel VBA通过ReDim重分配动态数组
  • 在VBA中如何编写合并单元格之代码?
  • excel中使用vba提取所有工作薄名称的方法
  • 怎样使用VBA统计选区中文本与字母、数字个数?
  • 热门搜索
    dnf遗忘之地怎么玩 电脑如何设置自动关机 计算机技能怎么写 如何拒绝别人的表白 上海到普陀山旅游攻略 武昌旅游 路由器连路由器 路由器连不上网 安徽旅游集团 脸上的斑如何去掉