
【VBA】セルが空白の場合に処理を抜ける方法
以前質問したんですが、補足に書ききれず、再度質問です(>人<;)
D列の記入する状況によって、入力必須のセルを塗りつぶししたいです!
そして、文字を入力したら塗りつぶしを消したいです!
色をつけるのはできるのですが、空白の場合に塗りつぶしを無くす(背景色を白にする)方法が分かりません(;_;)
private sub worksheet_change (Byval target as range)
dim i as long
for i = 2 to 1000
if cells (i,4).value = “依頼” then
cells(i,1).interior.color = RGB(255,255,0)
elseif cells(i,4).value =“作業中” Then
cells(i,3).interior.color = RGB(255,255,0)
elseif cells(i,4).value =“対応済” Then
cells(i,2).interior.color = RGB(255,255,0)
cells(i,5).interior.color = RGB(255,255,0)
end if
next i
end sub
ご存知の方がいらっしゃいましたら、教えていたたいですヽ(;▽;)ノ
読んでいただき、ありがとうございます(*^_^*)

No.2ベストアンサー
- 回答日時:
空白はヌル、半角スペース、全角スペースのどれを言ってるのか不明なので、全てだと仮定。
また、どこのセルを白くするかも言って無い。仕方無いからcells(i,2)にしておいた。
if cells (i,4).value = “依頼” then
cells(i,1).interior.color = RGB(255,255,0)
elseif cells(i,4).value =“作業中” Then
cells(i,3).interior.color = RGB(255,255,0)
elseif cells(i,4).value =“対応済” Then
cells(i,2).interior.color = RGB(255,255,0)
cells(i,5).interior.color = RGB(255,255,0)
↓下2行を追加
elseif cells(i,4).value =“” or cells(i,4).value =“ ” or cells(i,4).value =“ ” Then
cells(i,2).interior.color =2
↑追加終わり
end if
cells(i,2).interior.color =2では無くて
cells(i,2).interior.color =RGB(255,255,255)でも可。
質問が分かりづらくて申し訳ありません(>人<;)
空白は、無記入(“”)のことを言っております!
そして無記入は、D列(i,4)以外のセルのことなんです(>人<;)
No.3
- 回答日時:
こんにちは!
横からお邪魔します。
せっかくチェンジイベントを使っているのであれば、
2行目~1000行目までをループして空白セルの場合に
ループを抜けるのではなく、対象行だけの操作にしてみてはどうでしょうか?
D列は 依頼・作業中・対応済 の3種類だけ反応すれば良いのですね。
一例です。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, myRng As Range
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
With Target
If .Count < 1000 And .Row > 1 Then
For Each c In Target
Union(Range(Cells(c.Row, "A"), Cells(c.Row, "C")), Cells(c.Row, "E")).Interior.ColorIndex = xlNone '//一旦色をクリア//
If c <> "" Then
Select Case .Value
Case "依頼"
Set myRng = Cells(.Row, "A")
Case "作業中"
Set myRng = Cells(.Row, "C")
Case "対応済"
Set myRng = Union(Cells(.Row, "B"), Cells(.Row, "E"))
End Select
End If
If Not myRng Is Nothing Then
myRng.Interior.Color = RGB(255, 255, 0)
End If
Next c
End If
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
未記入がある場合はマクロを実行させない方法
その他(Microsoft Office)
-
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
-
4
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
5
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
6
VBAで文字列を数値に変換したい
Excel(エクセル)
-
7
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
8
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
9
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
10
VBAで特定の文字を探して隣のセルに色を付けたい
Excel(エクセル)
-
11
VBA 数式を最終行までコピー
Excel(エクセル)
-
12
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
13
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
14
Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです
Visual Basic(VBA)
-
15
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
16
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
-
17
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
18
VBA 何かしら文字が入っていたら
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
Excel VBA コンボボックスで空...
-
GridViewの行選択イベントを発...
-
【VBA】セルが空白の場合に処理...
-
エクセル チェックボックスの...
-
Excel 入力規則のリストのカー...
-
エクセルの取り消し線を検出す...
-
エクセルVBA 計算範囲を変更する。
-
マウスを乗せたときにセルの色...
-
セルの移動
-
VBA 別ブックから条件に合うも...
-
vbaで色付けされたセルを除外し...
-
【マクロ】A列にある、日付(本...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
エクセル: セルの枠を超えて表示
-
エクセルのセル内の余白の設定...
-
Excelに入力した個々の日付の数...
-
エクセルのセル内に全角数字を...
-
エクセルでの計算式で求められ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
VBA 別ブックから条件に合うも...
-
クリップボードの内容を変数に...
-
Excel VBA コンボボックスで空...
-
Excel 入力規則のリストのカー...
-
GridViewの行選択イベントを発...
-
【VB.NET】DataGridViewセルの...
-
エクセルの取り消し線を検出す...
-
マウスを乗せたときにセルの色...
-
VBA サンダーバードのメール自...
-
【VBA】セルが空白の場合に処理...
-
Excelマクロで空白セルの大小比...
-
エクセル チェックボックスの...
-
エクセルVBA 計算範囲を変更する。
-
複数セルに〇印をつけるマクロ
-
VBA 文字列を1文字ずつ調べて"...
-
マクロについて質問です 範囲内...
-
vba、targetのRow,Colomnの値取得
-
DataGridViewでセルを結合したい
-
vbaで色付けされたセルを除外し...
おすすめ情報
なんとか解決しました!☆
ありがとうございました〜!(*≧∀≦*)☆
丁寧に全部の式を書いてくださったfumiakiさんをベストアンサーに選ばせていただきました(*^_^*)
GOM∧FUさんも、すぐにご回答くださりありがとうございます(๑˃̵ᴗ˂̵)♪