Вы можете использовать следующий код, чтобы отключить функцию клавиши F8
и назначить ей другую процедуру (в модуле ThisWorkbook
):
Private Sub Workbook_Activate()
Application.OnKey "{F9}", "SpecialCalculation"
End Sub
Вы можете решить таким же образом Shift + F9
, Ctrl + Alt + F9
("{+F9}"
), выделив им ту же процедуру, что и ниже, "^%F9}"
...
Затем создайте свою собственную функцию вычисления:
Sub SpecialCalculation()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "sheet1 to be excluded name" And _
sh.Name <> "sheet2 to be excluded name" Then
sh.Calculate
End If
Next
End Sub
Если вам необходимо вернуться к Поведение по умолчанию, используйте этот фрагмент кода в событии рабочей книги Deactivate
:
Private Sub Workbook_Deactivate()
Application.OnKey "{F9}"
End Sub
Отредактировано: Изменены события, которые будут использоваться после обсуждения с @PEH. Он был прав. Лучше сохранить это специальное поведение функции Вычисления только для рабочей книги, хранящей эти указанные c события, сконфигурированные как предложено.