| 
    
     |  | 編集用シートと印刷用シート(保護あり)があります。 両シートのレイアウトは同一で、編集シートで入力した値が印刷シートの同じ番地に入ります。
 ("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
 
 
 |  |