質問: エクセルマクロ 特定の文字列を含む行を削除 エクセルマクロ 特定の文字列を含む行を削除 エクセルのマクロについて教えてください。 下の中から列を限定せず、すべての行でaaa、cccのいずれかがある場合、 その行ごと、すべて削除したいのです。 時に削除したい特定の文字列が数十種類になるため、 マクロ起動時に削除したい特定の文字を記述したファイルを読み込み、それから 削除できるようにしたいのです。場合によってはそのファイルを編集し、 削除したい文字列を変更したいのです。 ご教示いただだけないでしょうか a列b列c列 1aaabbbccc 2bbbcccfff 3dddbbbfff 4aaacccddd 5gggrrruuu 行中にaaa、bbbがある場合、削除したい ↓ a列b列c列 5gggrrruuu マクロを実行し、上記の結果にしたい。
回答: こんばんは! 削除したい文字列は一つのセルに入っていた場合ですよね? (その文字列が含まれているセルという意味ではない) 一応そういうことだとして・・・ 削除したい文字列をsheet2のa2セルからa列に入力し、 削除したい行があるsheetはsheet1で2行目以降にデータがあるとしています。 一例ですが、↓のコードを標準モジュールにコピー&ペーストしてマクロを実行してみてください。 sub test() dim i, j, k as long dim ws1, ws2 as worksheet set ws1 = worksheets("sheet1") set ws2 = worksheets("sheet2") for i = ws1.cells(rows.count, 1).end(xlup).row to 2 step -1 for j = 1 to ws1.cells(i, columns.count).end(xltoleft).column for k = 2 to ws2.cells(rows.count, 1).end(xlup).row if ws1.cells(i, j) = ws2.cells(k, 1) then ws1.rows(i).delete (xlup) end if next k next j next i end sub こんな感じでどんなでしょうか? 尚、一旦マクロを実行してしまうと元に戻せませんので 別bookにコピーして試してみてください。m(__)m