VBA循环文件夹(mac)

时间:2015-07-14 21:53:09

标签: excel macos vba loops excel-vba-mac

我是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

0 个答案:

没有答案