0

以下のコードは、すべてのワークシートの内容をソースワークブックからデスティネーションワークブックにコピーします。ワークシートの名前はまったく同じです。このコードは、ソースからデータをまったく同じ順序/範囲( "A2:A700"&_ "D2:D700"&_ "C2:C700")でコピー先のブックにコピーします。ただし、上記の範囲のソースからのデータを、宛先ワークブックの別の範囲(I3、k3、およびAC3)に配置する必要があります。どんな援助も大歓迎です。

Option Explicit

    Sub seunweb()
    'this macro copies from one workbook to another

    Dim wbSource As Workbook, wbDestination As Workbook
    Dim ws As Worksheet, rng As Range
    Dim NextRow As Long, LastRow As Long

    Application.ScreenUpdating = False

        Set wbSource = Workbooks.Open("D:\test.xls")
        Set wbDestination = ThisWorkbook
    For Each ws In wbSource.Sheets

    For Each rng In ws.Range("A2:A700," & _
                                     "D2:D700," & _
                                     "C2:C700").Areas
                wbDestination.Sheets(ws.Name).Range(rng.Address).Value = rng.Value

            Next rng

        Next ws

        wbSource.Close SaveChanges:=False

        Application.ScreenUpdating = True

    End Sub
4

1 に答える 1

0

forループの代わりに、次のようなものを使用してください

Set rng = ws.Range("A2:A700")
wbDestination.Sheets(ws.Name).Range("I3").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value

Set rng = ws.Range("D2:D700")
wbDestination.Sheets(ws.Name).Range("K3").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value

' continue this this for each source range
于 2012-07-19T11:07:36.143 に答える