Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


463 / 13645 ツリー ←次へ | 前へ→

【80214】特定の文字がある場合のセルに色をつけたい reo 18/10/25(木) 16:32 質問[未読]
【80216】Re:特定の文字がある場合のセルに色をつけ... γ 18/10/25(木) 20:45 発言[未読]
【80221】Re:特定の文字がある場合のセルに色をつけ... γ 18/10/28(日) 12:35 発言[未読]
【80226】Re:特定の文字がある場合のセルに色をつけ... reo 18/10/30(火) 11:05 お礼[未読]
【80225】Re:特定の文字がある場合のセルに色をつけ... マナ 18/10/29(月) 20:51 発言[未読]

【80214】特定の文字がある場合のセルに色をつけた...
質問  reo E-MAIL  - 18/10/25(木) 16:32 -

引用なし
パスワード
   例えばB列に●文字があった場合行のB〜Dを「黄色」に
・●部分の文字を含まない行は「塗りつぶしなし」になるようにしています。
Sub 色付け()
Dim c
Dim r As Range
For Each r In Range("B1", Cells(Rows.count, 1).End(xlUp))
If InStr(r.Value, "●") Then c = 6 Else c = 0
r.Resize(, 3).Interior.ColorIndex = c
Next
End Sub

これに下記2項目を追加したいのですが教えてください。
@A列まで黄色にする
AB列に◯、■、△など文字がある場合に複数をまとめて黄色に塗りつぶす

宜しくお願いします。

【80216】Re:特定の文字がある場合のセルに色をつ...
発言  γ  - 18/10/25(木) 20:45 -

引用なし
パスワード
   > 1.A列まで黄色にする
r.Resize(, 3).Interior.ColorIndex = c
  ↓
r.Offset(,-1).Resize(, 4).Interior.ColorIndex = c
ですかね。

> 2.B列に◯、■、△など文字がある場合に複数をまとめて黄色に塗りつぶす
If InStr(r.Value, "●") のところを
If InStr(r.Value, "●") Or InStr(r.Value, "○") Or .....のようにしてみては?

--------------
ちなみに
Range("B1", Cells(Rows.count, 1).End(xlUp))
だと、A列も対象になっていますが、これは意図したことですか?
もしA列に●があると、r.Offset(,-1)がエラーになりますね。

なお、実際に動かしていないので、そちらで確認してください。

【80221】Re:特定の文字がある場合のセルに色をつ...
発言  γ  - 18/10/28(日) 12:35 -

引用なし
パスワード
   不明な点があれば継続質問してください。
質問したまま放置するのは失礼です。

【80225】Re:特定の文字がある場合のセルに色をつ...
発言  マナ  - 18/10/29(月) 20:51 -

引用なし
パスワード
   ▼reo さん:

条件付き書式という機能をご存知でしょうか。

【80226】Re:特定の文字がある場合のセルに色をつ...
お礼  reo E-MAIL  - 18/10/30(火) 11:05 -

引用なし
パスワード
   返信が遅くなり申し訳ありませんでした。
おかげさまで解決致しました。
ありがとうございました。

463 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free