質問: エクセルマクロ 特定の文字列を含む行を削除 マクロについて教えてください。 以下のなかから、りんごを含んでいる行のみ削除したいのです。 できれば、inputboxで削除したい文字列を入力するようにしたいです。 1|りんご|30 2|みかん|50 3|りんご|30 4|すいか|30 5|みかん|50 いろいろ調べましたがわかりません。。お願いします。
回答: ”りんご”がa列で数値がb列とした場合で、データ範囲がa列とb列 である事が条件です。 (データは1行目からとしてます) sub try() dim st as string dim i as long, j as long dim v, x st = inputbox("削除するのは何?") if st = "" then exit sub with activesheet v = .range(.[a1], .cells(rows.count, 1).end(xlup).resize(, 2)) redim x(1 to 2, 1 to ubound(v, 1)) for i = 1 to ubound(v, 1) if v(i, 1) <> st then j = j + 1 x(1, j) = v(i, 1): x(2, j) = v(i, 2) end if next redim preserve x(1 to 2, 1 to j) .range("a:b").clearcontents .range("a1").resize(j, 2).value = application.transpose(x) erase v, x end with end sub ご参考程度になれば。