vba案例1:合并工作簿,工作表

一:放文件

我应该有把文件资源放上去,第一次弄,不知道你们那边能不能看到excel的电子档表格,没有看到,教教我怎么放上去哦

二:自定义代码规整(便于查看)

接下来,我们进行代码解释,因为有很多自定义变量,我先把自定义变量放在一起查看,不然到后面会忘记变量的含义(会晕头转向)


ljj = ThisWorkbook.Path '当前“合并工具“”工作簿的地址

lj = .SelectedItems(1) '此为文件夹的路径

Dim d As Object '此为字典

Dim ww As Workbook '工作簿
Dim sh As Worksheet         '工作表
Dim arr(), brr() '数组
Dim wb As Workbook '工作簿
Set ww = ThisWorkbook '当前“合并工具“”工作簿
bt = TextBox1.Text '窗体里面的,标题行数
bw = TextBox2.Text '窗体里面的,表尾行数

Set sht = ww.Worksheets("目录") '当前“合并工具“”工作簿中的“目录”表

For Each sh In ww.Worksheets '“合并工具”簿中历遍每个工作表(注:sh不是固定含义)

f = Dir(lj & "\*.xls*") '目标文件夹中的工作簿的名称

Set wb = Workbooks.Open(lj & "\" & f, 0) '目标文件夹中的工作簿

mc = Split(wb.Name, ".")(0) '工作簿名称

 For Each sh In wb.Worksheets '历遍目标文件夹中的工作簿中的每个工作表

r = sh.UsedRange.Find(What:="*", SearchDirection:=xlPrevious).Row '''SearchDirection查找方向

'用find方法,表中的最后一行

ms = sh.UsedRange.Find(What:="*", Searchorder:=xlByColumns,SearchDirection:=xlPrevious).Column '' '用find方法,表中的最后一列

rs = .UsedRange.Find(What:="*", SearchDirection:=xlPrevious).Row '目标文件的表复制到“合并工具”最后,在“合并工具”簿中来得到最后一行

rs = .UsedRange.Find(What:="*", SearchDirection:=xlPrevious).Row + 1 '如果有同名表,则得出最后一行+1

f = Dir '获取下一个文件名,并将其赋值给变量 f

wj = .SelectedItems(1) ‘CommandButton3中的单个文件路径(其实就是工作簿路径)

For Each shtt In wb.Worksheets '历遍目标工作簿中的每个工作表

d(shtt.Name) = "" '装入字典

ws = .UsedRange.Find(What:="*", SearchDirection:=xlPrevious).Row + 1 '“汇总”表的最后一行+1


三:接下是运行代码顺序,点击表中的合并按钮,则弹出窗体

Sub 合并()
合并界面.Show 0
End Sub

四:接下来浏览文件,执行代码,如下:

Private Sub CommandButton1_Click()
ljj = ThisWorkbook.Path
VBA.ChDir ljj
Set dlgOpen = Applicat
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值