• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロについて教えてください)

エクセルのマクロで赤色のセルに入力されている数字を削除する方法

このQ&Aのポイント
  • エクセルのマクロを使用すると、赤色のセルに入力されている数字を削除することができます。具体的な手順は以下の通りです。
  • 1. エクセルのメニューバーから「開発」をクリックし、マクロを実行するための開発タブを表示します。
  • 2. 新しいマクロを作成し、マクロの名前を入力します。例えば「DeleteRedCell」とします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>それと下記を試したら、なにか変な動作になり、数字を無限に探しているような >感じでしたが、こちらのマクロはどのような効果があるのでしょうか? 最初のコードは勉強のためと思って、それぞれのセルの色番号を順に表示するだけです。 全く別のエクセルファイルがあって、A~Zのファイルの特定のシートに対して 同じ処理をしたいのであれば 仮に A列にファイル名を順に入れておきます     A 1 ファイル名 2  A 3  B ・・・ Sub ボタン1_Click() For i=2 To 11 Workbooks.Open "C:\" & Range("A" & i).Value & ".xls" '仮に Cドライブにファイルがあったとしてです。 '最初は A2セルで指定したファイル名を開く という意味です。 Sheets("集計").Activate Dim r As Range For Each r In ActiveSheet.UsedRange If r.Interior.ColorIndex = 3 Then r.Value = "" Next r ActiveWorkbook.Save ActiveWorkbook.Close '開いたファイルを上書き保存して '開いたファイルを閉じる Next '11行目まで記述したファイルに対して同じことを繰り返す End Sub こんな感じでコードを考えてみてください。

zilchcoo
質問者

お礼

ありがとうございます!!できました♪ これで悪夢のような作業から解放されました。 本当にありがとうございます。 また、宜しくお願い致します!!

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

しばし、お付き合いできます。 そのフォルダ内に新しいエクセルファイルを作成して、マクロを実行するボタンを 作成して、A~Zのファイルへの処理を実行する場合と それぞれのファイルの集計シートにボタンを作成して、処理を実行させる場合が 考えられると思います。 もちろん、前記のマクロは、ファルダにあるファイルを順に開いて 処理を行って 上書き保存をする とう事なので結構な処理になります。 最初は、後記の方法で説明だけいたします。 新しいブックを準備していただいて、適当にデータを入力して、適当にセルの色を赤にしておいてください。 そのシートに ボタンを作成して Sub ボタン1_Click() Dim r As Range For Each r In ActiveSheet.UsedRange MsgBox r.Interior.ColorIndex Next r End Sub のマクロを貼り付けて実行してみて下さい。 UsedRange(使用しているセル)の色が順にメッセージで出ます。 それでは Sub ボタン1_Click() Dim r As Range For Each r In ActiveSheet.UsedRange If r.Interior.ColorIndex = 3 Then r.Value = "" Next r End Sub と1行変更してみてくください。 セルの色が赤(Interior.ColorIndex = 3 )だったら セルの値をクリア(r.Value = "") してくれます。

zilchcoo
質問者

お礼

追記 とても分かりやすい説明で本当に助かりました。 ありがとうございました。

zilchcoo
質問者

補足

ありがとうございました!!こちらを貼り付けたらできました。 Sub ボタン1_Click() Dim r As Range For Each r In ActiveSheet.UsedRange If r.Interior.ColorIndex = 3 Then r.Value = "" Next r End Sub ひとつひとつのブックに対してはできましたが、 複数のブックに対してマクロを動かしてもエラーがでるだけでした。 なぜなのでしょうか? もしご存知でしたら、複数のブックに対するマクロも教えて頂けると幸いです。 それと下記を試したら、なにか変な動作になり、数字を無限に探しているような 感じでしたが、こちらのマクロはどのような効果があるのでしょうか? Sub ボタン1_Click() Dim r As Range For Each r In ActiveSheet.UsedRange MsgBox r.Interior.ColorIndex Next r End Sub 本当にありがとうございます。是非、上記も教えて頂けると嬉しいです。 宜しくお願い致します。

関連するQ&A