Excel VBA質問箱 IV

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

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


71126 / 76738 ←次へ | 前へ→

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

引用なし
パスワード
   ▼STi さん:
こんばんは。
> 色() = Array(xlNone, 3, 5, 10, 13)
>の所で、「配列には割り当てられません」
>というメッセージが出て、中断してしまいます。
Excel2000では、エラーになりませんが・・・。
>Private Sub Worksheet_Change(ByVal Target As Range)
>  Dim newtarget As Range
>  Dim crng As Range
>  Dim 東西南北 As String
   Dim 色
>  東西南北 = "東西南北"
   色 = Array(-4142, 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

としたらどうでしょうか?

0 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 お礼

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