問題: 列 A と列 B があります。列 A は予測可能で、列 A の行が何千もあります。列 B には、列 A ごとにさまざまな行があります。たとえば、列 A には値 REQ_000021 があり、列 B には 5 つの行があります。これらは問題ありません。削除する必要がある行は、列 A ごとに列 B が 1 つしかない行です。
これは一般的なことではないことはわかっているので、これを行うための VB スクリプトを見つけることができませんでした。サイトで許可があれば写真を投稿します。最初に 15 担当者ポイントが必要です。
編集:
stackoverflow で改行を行う方法を学んだばかりなので、次のようになります。
Col A Col B
----------------------------------
スコット US
ドイツ
スペイン
-------- --------------------------
ブライアン 米国
---------------------- ------------
マーク US
----------------------------------
イタリア
ティムポルトガル
アイルランド
----------------------------------
列 A と列 Bに 1 つの行があるため、ブライアンとマークを削除し
ます。列 A の行ごとに複数の列 B の行があるため、スコットとティムはそのままにしておきます。Scott と Tim の列 A は大きなマージされた行であることに注意してください。
それが私がやろうとしていることです。
編集:
スコットの答えによると、これは出力です:
これを見ている他の人のために明確にするために、いくつかのマーキングにキャプションを付けました.
編集: この次の VB スクリプトは、列 C に「DELETE」値を持つ行を削除
します。Excel でマクロとして使用しました。マクロを初めて使用する場合は、Excel 2007 で開発者ビューを有効にして、VB 画面に切り替えることができるビューにアクセスしてください。
サブ deleteDeleteString() Dim rng As Range、cell As Range、del As Range strCellValue を文字列として暗くする rng = Intersect(Range("C:C"), ActiveSheet.UsedRange) を設定します。 For Each cell In rng strCellValue = (セル.値) 'DELETE が列 C のセルで 0 回以上見つかった場合、その行全体を削除します InStr(strCellValue, "DELETE") > 0 の場合 del が何もない場合 デル = セルに設定 Else: 設定 del = Union(del, cell) 終了条件 終了条件 次のセル エラー時再開次へ del.EntireRow.delete サブ終了