需求: 将同一文件夹中的所有表格内的数据批量提取到同一个表格中,并计算均值和标准差。
vba批量合并指定的sheet_如何将一个EXCEL中的多个SHEET中内容合并到一个SHE...-excel合并多个sheet,sheet批量合并...
原始数据(同一个工作簿中有不相等的多个工作表,每个工作表有不相等的多行数据)
处理后的数据(可以通过修改程序变成你想要的格式)
原始文件可以在我的资源中下载, 以下是源程序:
Sub CopyData()
Dim MyFile As String
Dim Arr(100) As String
Dim count As Integer
Dim wb As Workbook
Set Dwb = ActiveWorkbook '用Dwb代表要存放数据的工作簿
FileAddress = "D:\Users\tingfu.wei\Desktop\数据整理\"
'读取工作簿名称并保存到一个数组中
MyFile = Dir(FileAddress & "*.xlsx") '读取指定文件夹下的xlsx格式的工作簿
'MyFile = Dir("D:\Users\tingfu.wei\Desktop\数据整理\" & "*.xlsx") '读取指定文件夹下的xlsx格式的工作簿
count = count + 1 '统计工作簿数量
Arr(count) = MyFile
Do While MyFile <> ""
MyFile = Dir
If MyFile = "" Then
Exit Do
End If
count = count + 1
Arr(count) = MyFile '将文件的名字存在数组中
Loop
'提取数据和计算
[5:500] = "" '清除5-500行区域的数据
[A6:A500] = "空白"
x = 11 '保存数据的起始行数
n = x
For i = 1 To count '从第一个工作簿到最后一个工作簿循环
Workbooks.Open Filename:=FileAddress & Arr(i) '循环打开制定文件夹下的Excel文件
Set wb = ActiveWorkbook '用wb代表打开的工作簿
Wbname = ActiveWorkbook.Name '获取打开的工作簿的名称
y = 2 '保存数据的起始列数
p = y
'写入标题
Dwb.Shee