|
編集用シートと印刷用シート(保護あり)があります。
両シートのレイアウトは同一で、編集シートで入力した値が印刷シートの同じ番地に入ります。
("A2:G2")のいくつかに"A"が入力され、("A4:G10")の全てのセルに数種類の値が入力されます。
("A4:G10")の書式が変わるセルの条件は次のとおりです。
1)("A4:G10") のセルの値が"X"または"Y"または"Z" かつ、
2)("A2:G2")に"A"が入力された列
セルの書式はデフォルトで"MSP明朝"、条件該当の場合"MSPゴシック・太字"です。
編集シートは随時入力があります。印刷シートではその都度、条件該当の有無によって書式が変更する仕様です。
上記を踏まえて、下記のとおり作成しました。
1回目のイベントでは希望どおり書式が変更されます。
2回目のイベント以降、条件該当に関わらず、("A4:G10")のすべてのセルが"MSPゴシック・太字"になる原因がよく分かりません。
改善策をご教示いただけないでしょうか。よろしくお願い致します。
Private Sub Worksheet_activate()
ActiveSheet.Unprotect Password:="1234"
Application.ScreenUpdating = False
Range("A4:G10").Font.Name = "MS P明朝"
Range("A4:G10").Font.Bold = False
For Row = 4 To 10
For col = 1 To 7
If Cells(2, col) = "A" Then
If Cells(Row, col) = "X" Or Cells(Row, col) = "Y" Or Cells(Row, col) = "Z" Then
Cells(Row, col).Font.Name = "MS Pゴシック"
Cells(Row, col).Font.Bold = True
End If
End If
Next
Next
Application.ScreenUpdating = True
ActiveSheet.Protect Password:="1234"
End Sub
|
|