プロが教えるわが家の防犯対策術!

"コーラ"という値を含むセルが見つかったら、そのセルより8行上、4列右までのセルの値を空白にしたい。

・シートが1000シートほどあり、すべてに適用したい

このような感じなのですが、効率のいいマクロを教えていただけないでしょうか?

「Excelのマクロでこういう条件のマクロ」の質問画像

A 回答 (3件)

無駄な部分も多いですが


取りあえずは、一枚のシートで
Sub Macro1()
Cells.Select
Selection.Find(What:="コーラ", LookAt:=xlPart).Activate
ActiveCell.Offset(-8, 0).Activate
ActiveCell.Resize(1, 4).Value = ""
End Sub
コードの内容は
シート全体を選択
コーラを選択
8行上を選択
横へ4列広げた範囲を空白
です。

これを全てのシートで実行する。
但し、コーラは一枚のシートに一つと云う事で・・・
    • good
    • 0

http://m.chiebukuro.yahoo.co.jp/detail/q11158142 …
http://m.chiebukuro.yahoo.co.jp/detail/q11158095 …

もう1つあって回答も付いてた筈だけど、削除したの?
    • good
    • 0

特別に効率がいい方法は思いつきませんので、他の方に譲るとして…



Cells.Find()で検索しておいて、後は、それぞれ指定の範囲を消してゆくくらいかなぁ。
シートはブック内の全シートなのか指定シートなのかにもよりますが、基本的にループで処理したいですね。
    • good
    • 0

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