2

フォルダー内にあるすべての Excel ファイルを開き、各ファイルの最初、57、72、73、74 行をすべて同じブックにコピーする必要があります。

これは私がこれまでに持っているものです:

Dim i As Integer
Dim wbOpen As Workbook
Dim MyPath As String
Dim strFilename As String
MyPath = "C:\foldername" 'the folder
strFilename = Dir(MyPath & "\*.xls") 'all excel files in folder

Do Until strFilename = ""

    'here it gives an error, saying it can't open file,
    ' even though it apparently has found it
    wbOpen = Workbooks.Open(strFilename)

    'copy relevant text
    Workbooks(2).Activate
    Sheets("blad1").Rows(1, 57, 72, 73, 74).Copy
    Workbooks(1).Activate
    'select the first empty row
    irow = ActiveSheet.UsedRange.Rows.Count + 1
    'insert the copied
    irow.Insert Shift:=xlDown
    'close the workbook without saving
    Workbooks(2).Close SaveChanges:=False
    Close

Loop
4

1 に答える 1

1

このようにしてみてください:

MyPath = "C:\foldername" 'the folder
strFilename = Dir(MyPath & "\*.xls") 'all excel files in folder

Do Until strFilename = ""
...
strFilename=Dir()
Loop

これが機能するかどうか教えてください

Sheets("blad1").Rows(1, 57, 72, 73, 74).Copy編集:に 修正Sheets("blad1").Rows("1, 57, 72, 73, 74").Copy

于 2012-10-12T16:15:49.263 に答える