Excel VBA質問箱 IV

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

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


71123 / 76732 ←次へ | 前へ→

【10106】Re:セルに入力された文字によって、セルの塗りつぶしの色を変えるには?
回答  ichinose  - 04/1/7(水) 19:42 -

引用なし
パスワード
   埃 さん、STi さん、こんばんは。
再送です。
シートのChangeイベントを使いました。
当該シートのシートモジュールに
'===============================================
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim newtarget As Range
  Dim crng As Range
  Dim 東西南北 As String
  Dim 色()
  東西南北 = "東西南北"
  色() = Array(xlNone, 3, 5, 10, 13)
'        色ナシ、赤、青、緑、紫
  Application.EnableEvents = False
  Set newtarget = Application.Intersect(Target, Range("b2:b65536"))
'                           ↑セルB2以降を対象
  If Not newtarget Is Nothing Then
    For Each crng In newtarget
     With crng.Offset(0, 3).Interior
       If crng.Value <> "" Then '未入力のとき処理は分岐
      
        .ColorIndex = 色(InStr(東西南北, crng.Value))
'                  厳密にはMatch関数の方がよいかも?
       Else
        .ColorIndex = xlNone
        End If
       If .ColorIndex > 0 Then .Pattern = xlSolid
       End With
     Next
    End If
  Application.EnableEvents = True
End Sub

確認してみて下さい。

2 hits

【10100】セルに入力された文字によって、セルの塗りつぶしの色を変えるには? STi 04/1/7(水) 17:41 質問
【10103】Re:セルに入力された文字によって、セルの... 04/1/7(水) 18:56 回答
【10106】Re:セルに入力された文字によって、セルの... ichinose 04/1/7(水) 19:42 回答
【10108】Re:セルに入力された文字によって、セルの... STi 04/1/7(水) 21:36 質問
【10109】Re:セルに入力された文字によって、セルの... ichinose 04/1/7(水) 21:55 発言
【10110】できました!! STi 04/1/7(水) 22:22 お礼

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