VBAで別の列のセルにも色付け~2
WINDOWS XP EXCELL 2003です。
いつもお世話になります。
ご迷惑とは重々と承知しながら再度質問させていただきます。
1 御指導を賜りたいのは、
現在A列には月度を示す 01~12 が入力され月別にセルの背景色を塗りつぶしていますがこれをA列用のマクロを工夫してF列にも同様に適用したい。
例えば参照図で言うと
A7 05 ピンク
A8 05 ピンク
A9 06 ライトブルー
A10 07 草色 等のように
※ 参照図のF列のセルには背景色は適用していません。
2 参照図のそれぞれの設定は、
※ 計画 と 生産はセル位置だけの違いで生産の方は割愛します。
D1 ユーザー定義 mm/dd
D2 ユーザー定義 200000
D3 数値
A7 ユーザー定義 mm
マクロ
ボタン「計画入力」
Sub 計画入力()
Dim GYOU '追加
GYOU = Range("C65536").End(xlUp).Row + 1
Cells(GYOU, 2).Value = Range("D1").Value
Cells(GYOU, 3).Value = Range("D2").Value
Cells(GYOU, 4).Value = Range("D3").Value
End Sub
ボタン「セルセット」
Sub 計画セル()
Range("D1,D2,D3,D1").Select
End Sub
A列のセル塗りつぶし
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 8 And Target.Address = Cells(Rows.Count, "C").End(xlUp).Address Then
Target.Offset(0, 0).Value = Date
End If
Dim c As Integer
If Target.Column <> 2 Then Exit Sub
If Target.Value = "" Then
c = 0
Else
On Error GoTo line
Select Case Month(Target.Value)
Case 1: c = 46
Case 2: c = 4
Case 3: c = 39
Case 4: c = 6
Case 5: c = 7
Case 6: c = 8
Case 7: c = 43
Case 8: c = 3
Case 9: c = 44
Case 10: c = 24
Case 11: c = 40
Case 12: c = 17
End Select
End If
Target.Offset(0, -1).Interior.ColorIndex = c
Target.Offset(0, -1).Font.ColorIndex = IIf(c = 1, 2, 0)
Exit Sub
line:
Target.Offset(0, -1).Interior.ColorIndex = 0
Target.Offset(0, -1).Font.ColorIndex = 0
End Sub
御指導よろしく御願いします。
お礼
できました!ありがとうございます!!!!