Привет Rust,
Rust писал(а):' В глобальном модуле
- Код: Выделить всё
 Public Sh As Worksheet
.
 
У тебя наверное очень веские основания для того, чтобы постоянно занимать память этой переменной 

Rust писал(а):- Код: Выделить всё
 Set Sh = ThisWorkbook.Worksheets("Лист3")
With Sh.Range("A9:H9,D11:E11,A22:H22,D24:E24").Font
     .Name = "Courier New"
     .Size = 12
End With
Ошибка: Нельзя установить св-во Name класса Font
...Microsoft Office 97?
..."Лист3" - неактивен (скрыт)
...В более поздних версиях Office код отрабатывает
 
Мне кажется, что дело не в 
скрытости, а в 
защищенности...
Попробуй это из XL97 и если сработает,...
- Код: Выделить всё
 Sub test1()
    Dim Sh As Worksheet
    Set Sh = ThisWorkbook.Worksheets("Лист3")
    Sh.Protect userinterfaceonly:=True
    With Sh.Range("A9:H9,D11:E11,A22:H22,D24:E24").Font
         .Name = "Courier New"
         .Size = 12
    End With
End Sub
...тогда используй для всех версий след. код:
в модуле ThisWorkbook
- Код: Выделить всё
 Private Sub Workbook_Open()
    Worksheets("Лист3").Protect Password:="abracadabra", userinterfaceonly:=True
End Sub
где "abracadabra" это твой реальный пароль защиты.