電子書籍の厳選無料作品が豊富!

エクセルのマクロを勉強中なのですが、よくわからないので教えて下さい。

セルに特定の文字以外の文字が含まれていたら、2つ隣のセルの色を変更したいのです。

例えば・・・
A5 0;0;0;0
B5 0;1;0;0
C5 0;0;0;78
D5 0;0;0;0



最終行は時によって変わります。

と入力されていて、B5とC5には「0」「;」以外の文字が含まれるので
A3とD3のセル色は変更無しで、B3とC3のセルの色を黄色にするという事です。
説明が上手くなくて申し訳ありません。

ボタンがあって、それをクリックすると処理が始まるというようにしたいので、どうしてもマクロにしたくて・・・。
お詳しい方、優しくご教示いただける方、大変お手数ではありますがお願い致します。

A 回答 (2件)

条件付き書式の設定ではダメでしょうか。


一例
A3~D5セルを 選択
条件付き書式の設定
数式を利用して・・・
=LEN(SUBSTITUTE(SUBSTITUTE(A5,0,""),";",""))>0
の式を切れる
右下の書式のボタンで 塗りつぶしを 黄色に
OKで終了してみて下さい。
    • good
    • 0

フォームコントロールのボタンにつければよいかと思います。


ただし、データがどのように並べられているかなどは書かれておりませんから、思惑通りなのかは、こちらには分かりません。目下、こちらの想像の範囲で作りました。


'当該ブックの標準モジュール 
Sub TestMacro()
Dim i As Long, j As Long
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 5 To LastRow 'スタート 5行目
For j = 1 To 4  'Dまでデータがあるとする
  Cells(i, j).Select
  If Cells(i, j).Value <> "" And _
  Cells(i, j).Value Like "*[!0;]*" Then
   Cells(i - 2, j).Interior.ColorIndex = 6
  End If
Next j
Next i
End Sub
    • good
    • 0

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

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


おすすめ情報