0

何百ものExcelファイルがあり、その特定の部分をコピーして別のExcelファイルに行ごとに貼り付ける必要があります(ファイルkから抽出した情報は行kに貼り付けられます)。ループ部分を除いて、プログラムがタスクを実行することがわかりました。コードでは、ファイル名と行番号が使用されます。例:

        WorkbookName = "file 1"
        ...
        .Range("C1")=...

誰かがそれを手伝ってくれますか?

私はこれを試しましたが、機能しません:

      k=0
      do while k<500
         WorkbookName = "file (1+k)"
         ...
         .Range("C(1+k)")=...
        ...
      Loop
4

1 に答える 1

1

このような何かがあなたを正しい軌道に乗せるはずです。

Dim k As Long
Dim WorkbookName As String
Dim thisWbk As Workbook
Dim wbk As Workbook

Set thisWbk = ActiveWorkbook

For k = 0 To 500
    WorkbookName = "file " & CStr(1 + k)
    Set wbk = Workbooks.Open("C:\mydir\" & WorkbookName & ".xls")

    thisWbk.Sheets("Sheet1").Range("C" & CStr(1 + k)) _
        = wbk.Sheets("Sheet1").Range("A5")

    wbk.Close
Next k
于 2012-08-21T10:49:20.197 に答える