1

ワークシートで次のマクロを使用します。

With Sheets("missing_artikels")
        .Range("A1:F" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy Sheets("Master").Range("A" & Rows.Count).End(xlUp).Offset(1)
    End With

データをローカル ファイルにコピーする代わりにI:\sales\Funnel\funnel.xls、ワークシート「漏斗」内の場所にある外部ファイルにデータをコピーします。

これをどのように組み合わせることができますか?ありがとう。

4

1 に答える 1

2

これは面白いアドバイスとしてあなたに来るかもしれませんが、美しさは決して複雑なコードを書くことではなく、たとえ1年後にそれを見ても理解できる単純なコードを書くことです:)

コードは常に単純でわかりやすい行に分割してください。たとえば、リクエストを既存のコードと組み合わせました。関連する変数を宣言しました(最後の行、シート名などの取得についてはを参照してください

これはあなたがしようとしていることですか?

Option Explicit

Const wbPath = "I:\sales\Funnel\funnel.xls"

Sub Sample()
    Dim wbI As Workbook, wbO As Workbook
    Dim wsI As Worksheet, wsO As Worksheet
    Dim wsILrow As Long, wsOLrow As Long

    '~~> Input Workbook
    Set wbI = ThisWorkbook
    Set wsI = wbI.Sheets("missing_artikels")

    '~~> Output Workbook
    Set wbO = Workbooks.Open(wbPath)
    Set wsO = wbO.Sheets("funnel")
    wsOLrow = wsO.Range("A" & wsO.Rows.Count).End(xlUp).Row + 1

    With wsI
        wsILrow = .Range("F" & .Rows.Count).End(xlUp).Row
        .Range("A1:F" & wsILrow).Copy wsO.Range("A" & wsOLrow)
    End With

    '
    ' '~~> Rest of the code
    '
End Sub

HTH

于 2012-05-15T08:28:13.590 に答える