1

1 つのフォルダーに 1000 を超える Excel ファイルがあります。各ファイルの最初の行を別の単一の Excel ファイルにコピーしたいと考えています。どうやってそれをするのですか?

説明するために、私はこれをしたい:

File_1.xls: row 1 -> File_Master.xls: row 1
File_2.xls: row 1 -> File_Master.xls: row 2
File_3.xls: row 1 -> File_Master.xls: row 3
File_4.xls: row 1 -> File_Master.xls: row 4
.
.
.
File_1000.xls: row 1 -> File_Master.xls: row 1000

前もって感謝します!

4

1 に答える 1

1

これは役立つはずです:

Sub FirstRow()
    Application.DisplayAlerts = False
    Dim strFilename As String
    Dim strPath As String
    Dim wbMaster As Workbook
    Dim wsMaster As Worksheet
    Dim wbFiles As Workbook
    Dim i As Integer

    i = 1
    Set wbMaster = ThisWorkbook
    Set wsMaster = wbMaster.Sheets(2)
    strPath = "C:\path\to\your\files\"
    strFilename = Dir(strPath & "*.xls")

    Do While strFilename <> ""
        Set wbFiles = Workbooks.Open(strPath & strFilename, False)
        wbFiles.Sheets(1).Rows(RowIndex:=1).Copy
        wsMaster.Cells(RowIndex:=i, ColumnIndex:=1).PasteSpecial Paste:=xlPasteAll
        wbFiles.Close (False)
        strFilename = Dir
        i = i + 1
    Loop
    Application.DisplayAlerts = True
End Sub

注意すべき点がいくつかあります。-必要に応じて適切な値へ
の参照を変更する必要があります- 独自のパスを入力するときにstrPathの最後に「\」があることを確認してください -私はfalseになりました実行中に、クリップボードをクリアするかどうかを尋ねるすべてのファイルのポップアップを回避します。Sheet(x)

DisplayAlerts

于 2012-11-28T22:31:33.717 に答える