VBA-最後の行が等しくない場合にコピー

arobNYC

さまざまなシートをコピーして、ブック内の中央の[インポート]タブに貼り付ける作業をしています。シートはそれぞれテンプレートであり、記入されているものと記入されていないものがあります。とにかく、セルはテンプレートで埋められるため、真に「空の」シートはありません。(テンプレートを超えて)追加されたデータのみを取り込みたい。データが追加されていない場合、ソースの最後の行= 11です。lrs= 11の場合はシートをコピーせず(ただし、lrs> 11の場合はデータをコピーする)、代わりに次のシートに移動するようにコードを変更するにはどうすればよいですか。 ?

For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Import" And Sheets(i).Name <> "Cover page" And Sheets(i).Name <> "Introduction" And Sheets(i).Name <> "Additional Fuels" Then
        With Sheets(i)
            lrs = .Cells(.Rows.Count, "S").End(xlUp).Row 'Column S = "Specific Claim Language"
            .Range(.Cells(11, "B"), .Cells(lrs, "U")).Copy 'Data of interest exists from B to U
        End With
        With Sheets("Import")
            lrd = .Cells(.Rows.Count, "A").End(xlUp).Row
            .Range(.Cells(lrd + 1, "A"), .Cells(lrd + 1 + lrs, "AA")).PasteSpecial xlValues 'Only pasting data relevant to columns B:U on source, A:T on destination
        End With
    End If
Next i

ティムウィルキンソン

lrsコピーする前に11よりも優れていることを確認し、貼り付ける前に同じことを行ってください。

Option Explicit
Sub test()
    For i = 1 To Sheets.count
        If Sheets(i).Name <> "Import" And Sheets(i).Name <> "Cover page" And Sheets(i).Name <> "Introduction" And Sheets(i).Name <> "Additional Fuels" Then
            With Sheets(i)
                lrs = .Cells(.Rows.count, "S").End(xlUp).Row 'Column S = "Specific Claim Language"
                If lrs > 11 Then
                    .Range(.Cells(11, "B"), .Cells(lrs, "U")).Copy 'Data of interest exists from B to U
                End if
            End With
            If lrs > 11 Then
                With Sheets("Import")
                    lrd = .Cells(.Rows.count, "A").End(xlUp).Row
                    .Range(.Cells(lrd + 1, "A"), .Cells(lrd + 1 + lrs, "AA")).PasteSpecial xlValues 'Only pasting data relevant to columns B:U on source, A:T on destination
                End With
            End If
        End If
    Next i 
End Sub

または、12未満のチェック後に飛び出して再開します

Option Explicit
Sub test()
    For i = 1 To Sheets.count
        If Sheets(i).Name <> "Import" And Sheets(i).Name <> "Cover page" And Sheets(i).Name <> "Introduction" And Sheets(i).Name <> "Additional Fuels" Then
            With Sheets(i)
                lrs = .Cells(.Rows.count, "S").End(xlUp).Row 'Column S = "Specific Claim Language"
                If lrs < 12 Then GoTo nextsheet:
                .Range(.Cells(11, "B"), .Cells(lrs, "U")).Copy 'Data of interest exists from B to U
            End With
            With Sheets("Import")
                lrd = .Cells(.Rows.count, "A").End(xlUp).Row
                .Range(.Cells(lrd + 1, "A"), .Cells(lrd + 1 + lrs, "AA")).PasteSpecial xlValues 'Only pasting data relevant to columns B:U on source, A:T on destination
            End With
        End If
nextsheet:
    resume nextsheet2:
nextsheet2:
    Next i 
End Sub

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データ(別の列に基づく)が機能しない最後の行に数式をコピーするVBA

分類Dev

VBAが等しくない<>条件が実際には等しいのにコードを実行し、実行すべきでない場合

分類Dev

VBAの最後の列を除く行をコピーする

分類Dev

VBA値が一致する場合に/の場合に行をコピーします* Brain Fried *

分類Dev

Exce / VBA:l最後の行を特定の列にコピーしますか?

分類Dev

VBA、値がX未満の場合は、行をコピーします

分類Dev

複数の条件が満たされた場合、VBA 行を新しく作成されたシートにコピーする

分類Dev

別のシートの最後の行にコピーして貼り付けるVBAコード

分類Dev

セル値コードに基づくExcel vbaのコピーと貼り付けが機能しない

分類Dev

Excel VBA:値が値と等しくない場合は行を削除しますか?

分類Dev

Excel-Vba:最後の行が機能しなくなるまで数式を適用するためのコード

分類Dev

データの行しかない場合、VBAフィルダウンはヘッダーをコピーします

分類Dev

選択したセルが5に等しくなく、連続している場合のVBA警告

分類Dev

VBA:ループごとに、データが日付の間にある場合はコピーします

分類Dev

特定のセルに「-」がある場合のマクロへのコピー (VBA)

分類Dev

VBA-行のコピー-エラーが見つかった場合は、セルのコピーを続行します

分類Dev

VBAを使用して、複数の条件が満たされた場合に特定の行の詳細を新しいワークシートにコピーするにはどうすればよいですか?

分類Dev

VBAコピーデータがうまくいかない

分類Dev

VBA列データを異なる列の最後の行にコピーし、複数の列に対して実行し、すべてのワークシートをループして同じようにします

分類Dev

VBAを使用した互いに素な範囲のコピー

分類Dev

SQLテーブルが存在しない場合のVBAの実行時エラー

分類Dev

その下に異なる幅の他のテーブルがある場合、VBAを使用してExcelテーブルに新しい行を追加する

分類Dev

VBAシートの最後の行ではなく、列の最後の行までの次のループ

分類Dev

一意の行の値に基づいて列データを検索および更新し、新しい値の場合は最後の行のVBAとして更新します

分類Dev

VBAコピー貼り付け値が隣接する列に正しく貼り付けられない

分類Dev

VBA - シート間のコピーと貼り付けが正しい場所に貼り付けられない

分類Dev

Seleniumマクロが正しく実行されなくなった(Excel VBAの場合)

分類Dev

VBA-列の最後の値をコピーして別のシートに貼り付ける方法

分類Dev

最後に使用した行のシート1からシート2へのVBAコピー/貼り付け値?

Related 関連記事

  1. 1

    データ(別の列に基づく)が機能しない最後の行に数式をコピーするVBA

  2. 2

    VBAが等しくない<>条件が実際には等しいのにコードを実行し、実行すべきでない場合

  3. 3

    VBAの最後の列を除く行をコピーする

  4. 4

    VBA値が一致する場合に/の場合に行をコピーします* Brain Fried *

  5. 5

    Exce / VBA:l最後の行を特定の列にコピーしますか?

  6. 6

    VBA、値がX未満の場合は、行をコピーします

  7. 7

    複数の条件が満たされた場合、VBA 行を新しく作成されたシートにコピーする

  8. 8

    別のシートの最後の行にコピーして貼り付けるVBAコード

  9. 9

    セル値コードに基づくExcel vbaのコピーと貼り付けが機能しない

  10. 10

    Excel VBA:値が値と等しくない場合は行を削除しますか?

  11. 11

    Excel-Vba:最後の行が機能しなくなるまで数式を適用するためのコード

  12. 12

    データの行しかない場合、VBAフィルダウンはヘッダーをコピーします

  13. 13

    選択したセルが5に等しくなく、連続している場合のVBA警告

  14. 14

    VBA:ループごとに、データが日付の間にある場合はコピーします

  15. 15

    特定のセルに「-」がある場合のマクロへのコピー (VBA)

  16. 16

    VBA-行のコピー-エラーが見つかった場合は、セルのコピーを続行します

  17. 17

    VBAを使用して、複数の条件が満たされた場合に特定の行の詳細を新しいワークシートにコピーするにはどうすればよいですか?

  18. 18

    VBAコピーデータがうまくいかない

  19. 19

    VBA列データを異なる列の最後の行にコピーし、複数の列に対して実行し、すべてのワークシートをループして同じようにします

  20. 20

    VBAを使用した互いに素な範囲のコピー

  21. 21

    SQLテーブルが存在しない場合のVBAの実行時エラー

  22. 22

    その下に異なる幅の他のテーブルがある場合、VBAを使用してExcelテーブルに新しい行を追加する

  23. 23

    VBAシートの最後の行ではなく、列の最後の行までの次のループ

  24. 24

    一意の行の値に基づいて列データを検索および更新し、新しい値の場合は最後の行のVBAとして更新します

  25. 25

    VBAコピー貼り付け値が隣接する列に正しく貼り付けられない

  26. 26

    VBA - シート間のコピーと貼り付けが正しい場所に貼り付けられない

  27. 27

    Seleniumマクロが正しく実行されなくなった(Excel VBAの場合)

  28. 28

    VBA-列の最後の値をコピーして別のシートに貼り付ける方法

  29. 29

    最後に使用した行のシート1からシート2へのVBAコピー/貼り付け値?

ホットタグ

アーカイブ