【初月無料キャンペーン中】gooドクター

特定の文字を完全一致で探し、その文字があるセルの列ごと削除し、それを(A3:Z3)の範囲で繰り返すというマクロはどのような書き方で実行できますか?
詳しい方教えてくださると助かります。

gooドクター

A 回答 (2件)

こんばんは



>どのような書き方で実行できますか?
ご提示のままに記述すれば可能でしょう。
考え方の例を以下に示しておきます。
(他にもあると思いますけれど・・・)


◇ご質問文の通りの方法
>特定の文字を完全一致で探し、
は、FINDメソッドで探すことができます。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
該当セルがあったなら、その列を削除。
これを繰り返して、FINDメソッドで該当セルがなくなったら終了すれば良いでしょう。

※ 注意点としては、列を削除するごとに対象範囲が狭まることになるので、範囲に注意する必要があります。


◇まとめて削除する方法
先にFINDメソッドで対象範囲内の該当セルを全てピックアップします。
ループして検索する方法は、上記のリンク先にサンプルが出ています。
該当セルを記憶しておくのには、Rangeを追加するUNIONメソッドで順次追加記憶しておくと良いでしょう。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
全部リストアップ出来たら、まとめて該当列を削除します。

※ 前出の方法に比して、まとめて削除する分だけ(若干ですが)処理速度が速くなることが期待できます。
 また、前出の「範囲が変わる」ことを気にする必要もなくなります。
    • good
    • 2

こんばんは。



下記が、ほぼそのまま使えそうですかね。

https://detail.chiebukuro.yahoo.co.jp/qa/questio …

実際に試してみて、分からないところは、コードをアップして、不具合や
 どの様なエラーかを質問して下さい。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング