|
本帖最后由 jk0932 于 2017-2-21 15:26 编辑
如附件所示:现举例如附件,
有若干个workbook名字为A表~E表(实际中可能变化),需要提取每个表中Sheet名字为XX的E8~F9,4个单元格的数据放入《结果》表中,结果示范如下:
标黄的列是单元格位置:表名的行填入提取的workbook名称,提取结果填入对应的位置
[tr] [td=72]表名[/td] [td=72]A表[/td] [td=72]B表[/td] [td=72]C表[/td] [td=72]D表[/td] [td=72]E表[/td] [/tr]
[tr] [td]E8[/td] [td]A1[/td] [td]A1[/td] [td]A1[/td] [td]A1[/td] [td]A1[/td] [/tr]
[tr] [td]E9[/td] [td]A3[/td] [td]A3[/td] [td]A3[/td] [td]A3[/td] [td]A3[/td] [/tr]
[tr] [td]F8[/td] [td]A2[/td] [td]A2[/td] [td]A2[/td] [td]A2[/td] [td]A2[/td] [/tr]
[tr] [td]F9[/td] [td]A4[/td] [td]A4[/td] [td]A4[/td] [td]A4[/td] [td]A4[/td] [/tr]
写的丑了点 N久没写了 将就下吧
- Sub test()
- Dim mso As Object
- Dim fileName As String
- Dim folderName As String
- Dim wb As String
- Dim arr
- Dim cloumn As Integer
- Dim row As Integer
-
- wb = ThisWorkbook.Name
- Set mso = Application.FileDialog(msoFileDialogFolderPicker)
-
- If mso.Show = -1 Then
- ' MsgBox "您选择的文件夹是:" & mso.SelectedItems(1), vbOKOnly + vbInformation, "智能Excel"
- Else
- Exit Sub
- End If
-
- folderName = mso.SelectedItems(1)
- fileName = Dir(folderName & "/*.xlsx")
-
- Do While fileName <> ""
- Workbooks.Open (folderName & "/" & fileName)
- arr = Workbooks(fileName).Sheets("xx").Range("e8:f9")
- Column = Workbooks(wb).Sheets("xx").Range("xfd1").End(xlToLeft).Column + 1
- Workbooks(fileName).Sheets("xx").Range("e8:e9").Copy Destination:=Workbooks(wb).Sheets("xx").Cells(2, Column)
- Workbooks(fileName).Sheets("xx").Range("f8:f9").Copy Destination:=Workbooks(wb).Sheets("xx").Cells(4, Column)
- Workbooks(wb).Sheets("xx").Cells(1, Column) = fileName
- fileName = Dir
- Loop
- End Sub
复制代码
|
|