vba 提取文件夹里面所有的工作表的中的指定单元格内容,复制到新建工作表中的对应列中
我要在好多个工作表中,而且每个工作表中的对应的单元格的内容,如单价,数量,整理到一个工作表中做成报表.而且要放在对应的列中,指高手指点...
我要在好多个工作表中,而且每个工作表中的对应的单元格的内容,如单价,数量,整理到一个工作表中做成报表.而且要放在对应的列中,指高手指点
展开
2个回答
展开全部
如果工作表名称有规律,可以直接用indirect+row获取
如果工作表名称无规律,可以借助宏表函数+indirect或用vba完成
以VBA为例:
假设要将当前工作簿其它工作表中的A1,D2,E3,F5存放至第一张工作表的A:D列,每个工作表的数据存放一行。
按住ALT,依次按F11,I,M,粘贴代码后按F5,即可实现目的。
Sub 工作表汇总()
With Sheets(1) '注意第一个工作表是汇总工作表,运行代码后它的内容将被修改
For i = 2 To ThisWorkbook.Worksheets.Count
.Cells(i, 1) = Sheets(i).Range("A1")
.Cells(i, 2) = Sheets(i).Range("D2")
.Cells(i, 3) = Sheets(i).Range("E3")
.Cells(i, 4) = Sheets(i).Range("F5")
'如果有更多对应关系,在这里依次添加
Next
End With
End Sub
如果工作表名称无规律,可以借助宏表函数+indirect或用vba完成
以VBA为例:
假设要将当前工作簿其它工作表中的A1,D2,E3,F5存放至第一张工作表的A:D列,每个工作表的数据存放一行。
按住ALT,依次按F11,I,M,粘贴代码后按F5,即可实现目的。
Sub 工作表汇总()
With Sheets(1) '注意第一个工作表是汇总工作表,运行代码后它的内容将被修改
For i = 2 To ThisWorkbook.Worksheets.Count
.Cells(i, 1) = Sheets(i).Range("A1")
.Cells(i, 2) = Sheets(i).Range("D2")
.Cells(i, 3) = Sheets(i).Range("E3")
.Cells(i, 4) = Sheets(i).Range("F5")
'如果有更多对应关系,在这里依次添加
Next
End With
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询