Excel VBA質問箱 IV

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

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


3021 / 13646 ツリー ←次へ | 前へ→

【64730】条件付書式を組んでみたのですが・・ ぽこにゃん 10/3/10(水) 15:15 質問[未読]
【64733】Re:条件付書式を組んでみたのですが・・ Jaka 10/3/10(水) 15:57 発言[未読]
【64760】Re:条件付書式を組んでみたのですが・・ Jaka 10/3/12(金) 12:20 発言[未読]
【64767】Re:条件付書式を組んでみたのですが・・ ぽこにゃん 10/3/12(金) 14:20 お礼[未読]

【64730】条件付書式を組んでみたのですが・・
質問  ぽこにゃん  - 10/3/10(水) 15:15 -

引用なし
パスワード
   以下の2つパターンで「条件付書式」を書いてみたのですが、
うまく書式が変わりません。
アドバイスよろしくお願いいたします。

パターン1.

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim myColor As Variant
 Dim c As Range
 Dim myRng As Range
 Set myRng = Application.Intersect(Range("F:F"))
 If myRng Is Nothing Then Exit Sub
 Application.EnableEvents = False
 For Each c In myRng
  Select Case c.Value
    Case 起票: myColor = 38 '淡いピンク
    Case 担当割当: myColor = 39 '淡い紫
    Case 修正済み: myColor = 45 '淡いオレンジ
    Case 修正確認待ち: myColor = 36 '淡い黄色
    Case 修正確認OK: myColorl = 37 '淡い水色
    Case 保留: myColor = 35 '淡い緑
    Case 完了: myColor = 48 '灰色
    Case Else: myColor = xlNone
  End Select
  Cells(c.Row, 14).Resize(2, 10).Interior.ColorIndex = myColor
 Next c
 Application.EnableEvents = True
End Sub


パターン2.

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim myColor As Variant
 
  If Target.Count <> 起票 Then Exit Sub
  If Target.Column <> 完了 Then Exit Sub
 
  Application.EnableEvents = False
  Select Case Target.Value
    Case 起票: myColor = 38 '淡いピンク
    Case 担当割当: myColor = 39 '淡い紫
    Case 修正済み: myColor = 45 '淡いオレンジ
    Case 修正確認待ち: myColor = 36 '淡い黄色
    Case 修正確認OK: myColorl = 37 '淡い水色
    Case 保留: myColor = 35 '淡い緑
    Case 完了: myColor = 48 '灰色
    Case Else: myColor = xlNone
  End Select
  Cells(Target.Row, 14).Resize(2, 10).Interior.ColorIndex = myColor
  Application.EnableEvents = True
End Sub

【64733】Re:条件付書式を組んでみたのですが・・
発言  Jaka  - 10/3/10(水) 15:57 -

引用なし
パスワード
   > Set myRng = Application.Intersect(Range("F:F"))
これの書き方と。

>    Case 起票: myColor = 38 '淡いピンク
>    Case 担当割当: myColor = 39 '淡い紫
>    Case 修正済み: myColor = 45 '淡いオレンジ
>    Case 修正確認待ち: myColor = 36 '淡い黄色
>    Case 修正確認OK: myColorl = 37 '淡い水色
>    Case 保留: myColor = 35 '淡い緑
>    Case 完了: myColor = 48 '灰色
        ↑
  これだと、起票やら、完了といった変数になる。
  この辺が良くわからないけど。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim myColor As Long
 Dim cc As Range
 Dim myRng As Range
 Set myRng = Application.Intersect(Range("F:F"), Target)
 If myRng Is Nothing Then Exit Sub

 'Application.EnableEvents = False
 '色付けではイベントが発生しない。不要。

 For Each cc In myRng
  Select Case cc.Value
    Case "起票": myColor = 38 '淡いピンク
    Case "担当割当": myColor = 39 '淡い紫
    Case "修正済み": myColor = 45 '淡いオレンジ
    Case "修正確認待ち": myColor = 36 '淡い黄色
    Case "修正確認OK": myColorl = 37 '淡い水色
    Case "保留": myColor = 35 '淡い緑
    Case "完了": myColor = 48 '灰色
    Case Else: myColor = xlNone
  End Select
  Cells(cc.Row, 14).Resize(2, 10).Interior.ColorIndex = myColor
 Next cc
 'Application.EnableEvents = True
End Sub

【64760】Re:条件付書式を組んでみたのですが・・
発言  Jaka  - 10/3/12(金) 12:20 -

引用なし
パスワード
   これこうだったな。
> Set myRng = Application.Intersect(Range("F:F"), Target)
 ↓
Set myRng = Application.Intersect(Target, Range("F:F"))

【64767】Re:条件付書式を組んでみたのですが・・
お礼  ぽこにゃん  - 10/3/12(金) 14:20 -

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

返信送れてごめんなさい!
Jakaさんのアドバイス通りに書いたところ
期待通りの動作をしてくれました。

これで条件付書式の数も増やせます!
今回は本当にありがとうございました。

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