|
有段代码 是从目标文件中 提取相应列里的内容, 写入新的工作表。 其中,A列是写入 被提取数据的文件名 (代码标红了)。 现在遇到一个问题,就是A列差个表头。
相当于是 每个被提取文件内容的第一行 的A 列单元格 先写入“ 学校” 再写入文件名。。。自己改了几次都不太对。烦请大家帮忙改下。
Sub 多文件提取列()
Dim folderPath As String
Dim fileNames As Variant
Dim i As Long, j As Long
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim lastRowTarget As Long
'获取文件夹下所有Excel文件的文件名
fileNames = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", MultiSelect:=True)
If IsArray(fileNames) Then
'创建或获取目标工作表(这里假设是当前活动工作簿中的新工作表)
Set wsTarget = ThisWorkbook.Worksheets.Add
wsTarget.Name = "汇总"
lastRowTarget = 1
For i = LBound(fileNames) To UBound(fileNames)
'打开每个文件
Set wbSource = Workbooks.Open(fileNames(i))
Set wsSource = wbSource.Worksheets("IDC业务支撑服务质量评测表") '假设数据都在第一个工作表,可根据实际修改
For j = 6 To wsSource.UsedRange.Rows.Count
'将文件名写入目标工作表A列
wsTarget.Cells(lastRowTarget, "A").value = wbSource.Name
'将源文件A列数据写入目标工作表B列
wsTarget.Cells(lastRowTarget, "B").value = wsSource.Cells(j, "B").value
'将源文件K列数据写入目标工作表C列
wsTarget.Cells(lastRowTarget, "C").value = wsSource.Cells(j, "F").value
............
|
|