我是VBA的新手,但我正在努力。
在名为“DataFile.xlsm”的Excel for Mac 2011工作簿中(存储在共享网络驱动器上),我需要一个宏来清除工作表1的当前内容(名为“Data”),然后循环遍历已识别的文件夹也位于共享网络驱动器(及其子文件夹)上,以查找名称以“信息表”开头的任何Excel工作簿。对于每个这样的工作簿,我需要复制Sheet 1 C2:C12,转置这些单元格,然后将它们粘贴到新行中的“DataFile”的Sheet 1(名为“Data”),列A:K。
我已经弄乱了DIR和MacID的东西,但无法搞清楚。因此,我只能在工作表级别(一个工作簿中的所有数据)上工作,但我需要它在工作簿级别工作(一个文件夹中的所有数据)。
请帮忙。我花了很多时间在这上面并且无处可去。
以下是我在工作表级别工作的内容:
Sub copy_studentsheets_to_datasheet_withclearing()
Dim ws As Worksheet
'clear contents from target sheet
Sheets("Data").Select
Range("a3:k600").ClearContents
Range("a3:k600").ClearFormats
'copy specified range from each worksheet (other than the "Data" worksheet) and paste and transpose to new row in Data worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "Data" Then
'do nothing
Else
ws.Select
Range("C2:C12").Select
Selection.Copy
Sheets("Data").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1:K1").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End If
Next ws
ActiveWorkbook.Save
End Sub