Note: The other languages of the website are Google-translated. Back to English

基準に基づいて複数のワークシートから新しいシートに行をコピーするにはどうすればよいですか?

以下のスクリーンショットと同じフォーマットのXNUMXつのワークシートを含むワークブックがあるとします。 ここで、列Cに「Completed」というテキストが含まれているこれらのワークシートのすべての行を新しいワークシートにコピーします。 手動でXNUMXつずつコピーして貼り付けることなく、この問題をすばやく簡単に解決するにはどうすればよいでしょうか。

基準に基づいて複数のワークシートからVBAコードを含む新しいシートに行をコピーします


基準に基づいて複数のワークシートからVBAコードを含む新しいシートに行をコピーします

次のVBAコードは、特定の条件に基づいて、ブック内のすべてのワークシートから特定の行を新しいワークシートにコピーするのに役立ちます。 このようにしてください:

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:基準に基づいて複数のシートから新しいシートに行をコピーします

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

注意:上記のコードでは:

  • テキスト「記入済みのこの中の」 xRStr = "完了" スクリプトは、行をコピーする特定の条件を示します。
  • C:C この内 xRg = xWs.Range( "C:C")を設定します スクリプトは、条件が配置される特定の列を示します。

3。 次に、 F5 このコードを実行するためのキー。特定の条件のすべての行がコピーされ、現在のブック内のKutools forExcelという名前の新しいワークシートに貼り付けられています。 スクリーンショットを参照してください:


より相対的なプルまたはコピーデータ記事:

  • Excelの高度なフィルターを使用してデータを別のワークシートにコピーする
  • 通常、高度なフィルター機能をすばやく適用して、同じワークシートの生データからデータを抽出できます。 ただし、フィルタリングされた結果を別のワークシートにコピーしようとすると、次の警告メッセージが表示される場合があります。 この場合、Excelでこのタスクをどのように処理できますか?
  • Excelの列基準に基づいて行を新しいシートにコピーする
  • たとえば、果物の購入テーブルがあり、指定した果物に基づいてレコードを新しいシートにコピーする必要があります。Excelで簡単に実行するにはどうすればよいですか。 ここでは、Excelの列基準に基づいて行を新しいシートにコピーするいくつかの方法を紹介します。
  • Excelで列に特定のテキスト/値が含まれている場合は行をコピーする
  • 列に特定のテキストまたは値を含むセルを見つけて、見つかったセルがある行全体をコピーしたい場合、どのように対処できますか? ここでは、列に特定のテキストまたは値が含まれているかどうかを確認し、Excelで行全体をコピーするためのいくつかの方法を紹介します。


  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
コメントを並べ替える
コメント (2)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、上記のコードをありがとうございました。複雑なファイルの問題を解決しました。 私が今しばらく探していた解決策。 ありがとう..質問がXNUMXつあります。 行をコピーするようにコードを変更するにはどうすればよいですか。ただし、列Aから列Qにのみコピーされ、Entire.Rowにはコピーされません。よろしくお願いします。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、

コードありがとうございます。 質問があります。コードは一部のシートでスムーズに実行されますが、他のシートでは無限ループに入り、Excelがクラッシュするように見えます。 その理由は何でしょうか?
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所