Excel VBA質問箱 IV

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

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


46083 / 76732 ←次へ | 前へ→

【35628】Re:列の数値に変化がある度に数字の色を変化させたいのですが可能でしょうか?
質問  ichinose  - 06/3/8(水) 19:34 -

引用なし
パスワード
   ▼ringotyanZ さん:
こんばんは。

>列の数値に変化がある度に数字の色を変化させたいのですが可能でしょうか?
>数値が上った場合は赤に、下がった場合は青に、前の値と変わらない場合は色は前の色と同じに、といった具合にセルの数字に色を付けることは可能ですか?
>
>マクロを作りたい元データは下記の通りなのですが、例えば、3列目の数字が387→388に上った場合数字を赤色に、その後数値が変わらず388のままなら数字は赤のまま、388→386など下がった場合数字を青に、その後値が変わらないなら以下の数字は青色のままに、といった具合に、これを列の最後まで繰り返させたいのです。
>
>よろしくお願いします。
>
>
以下のデータがSheet1というシート名のセルA1から入っているとします。

>2006/3/8    9:53    387    387.78    100     
>2006/3/8    9:54    387    387.74    200     
>2006/3/8    10:04    387    387.72    100     
>2006/3/8    10:04    388    387.73    200     
>2006/3/8    10:10    388    387.74    200     
>2006/3/8    10:27    386    387.63    300     
>2006/3/8    10:46    386    387.6    100     
>2006/3/8    10:55    386    387.44    500     
>2006/3/8    10:55    386    387.36    300     
>2006/3/8    10:55    386    387.25    500     
>2006/3/8    12:30    385    385.82    10500     
>2006/3/8    12:30    385    385.81    200     
>2006/3/8    12:35    386    385.81    100     
>2006/3/8    12:37    386    385.81    400


Thisworkbookのモジュールに
'=======================================================
Private Sub Workbook_Open()
  Dim rng As Range
  With Worksheets("sheet1")
    For Each rng In .Range("a1").CurrentRegion
     If rng.Column > 2 Then
       rng.ID = Str(rng.Value)
       'rng.Font.ColorIndex = 0
       End If
     Next
    End With
End Sub


Sheet1のシートモジュールに
'=================================================================
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim t_target As Range
  Dim crng As Range
  Set t_target = Application.Intersect(Target, Range("c:e"))
  If Not t_target Is Nothing Then
    For Each crng In t_target
     With crng
       If Val(.ID) < Val(.Value) Then
        .Font.ColorIndex = 3
       ElseIf Val(.ID) > Val(.Value) Then
        .Font.ColorIndex = 5
        End If
      .ID = Str(.Value)
      End With
     Next
    End If
End Sub

データチェック対象セル範囲はC列〜E列とします。

尚、上記コードを追加して一度保存後して閉じた後
再度開いてみて確認してください。
10 hits

【35623】列の数値に変化がある度に数字の色を変化させたいのですが可能でしょうか? ringotyanZ 06/3/8(水) 17:24 質問
【35628】Re:列の数値に変化がある度に数字の色を変... ichinose 06/3/8(水) 19:34 質問
【35629】Re:列の数値に変化がある度に数字の色を変... ichinose 06/3/8(水) 19:35 発言
【35632】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/8(水) 20:08 質問
【35636】Re:列の数値に変化がある度に数字の色を変... ponpon 06/3/8(水) 20:40 発言
【35639】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/8(水) 20:59 質問
【35641】Re:列の数値に変化がある度に数字の色を変... ponpon 06/3/8(水) 21:28 発言
【35646】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/8(水) 23:11 質問
【35647】Re:列の数値に変化がある度に数字の色を変... ponpon 06/3/9(木) 0:22 発言
【35648】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/9(木) 0:37 質問
【35665】Re:列の数値に変化がある度に数字の色を変... ponpon 06/3/9(木) 18:19 発言
【35672】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/9(木) 20:55 質問
【35676】Re:列の数値に変化がある度に数字の色を変... ponpon 06/3/9(木) 23:11 発言
【35678】Re:列の数値に変化がある度に数字の色を変... ringotyanZ 06/3/10(金) 0:16 お礼

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