VBA将工作簿中的所有工作表的内容输出到一个工作表中

主体是对该工作簿中所有的工作表进行遍历,然后将内容依次输出到一个工作表中。
下面看代码:

Rem 将多个工作表中的内容汇总到一个工作表中
Sub collect()
	Rem 定义要循环的工作表和拿来去循环的工作表对象变量
	Dim ws As Worksheet
	Dim thissheet As Worksheet
	Rem 设置要去循环的工作表对象变量
	Set thissheet = ThisWorkbook.Sheets("汇总")
	Rem 进行循环
	For Each ws In ThisWorkbook.Sheets
    	Rem 如果不是用来存放的工作表就将内容放入
    	If ws.Name <> thissheet.Name Then
        	Rem 将工作表表名放入
        	thissheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = ws.Name
        	Rem 将工作表中的内容放入
        	ws.UsedRange.Copy thissheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    	End If
	Next ws
End Sub

效果图:
sheet1的内容:
sheet1的内容
另一个工作表中的内容:
在这里插入图片描述
汇总后的内容:
在这里插入图片描述
语法内容:
定义变量:
定义变量用dim,对象是工作表用worksheet,给对象赋值用set

选工作表,工作簿:
thisworkbook是当前的工作簿,如果要选这个工作簿里的哪个工作表用
thisworkbook.sheets(“…”)的写法,如果要选当前工作表直接写activesheet

copy:
使用.copy复制选中的区域,后面跟要粘贴过去的地方

单元格的所在行列:
显示某个单元格的行用 工作表名.cells(第几行,第几列).row 或 工作表名.range(“哪个单元格”).row
显示某个单元格的列用 工作表名.cells(第几行,第几列).column
或 工作表名.range(“哪个单元格”).column
rows.count是工作表中一共有多少行,可不加父对象单独使用
某单元格.end(xlup) 是从某单元格向上数,到第一个有内容的单元格那里
某单元格.offset(x,y) 是从某单元格偏移x列和y行到另一个单元格

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值