누군가 Lorenzo의 통합 문서를 사용할 때 사용자가 F2 키에만 액세스 할 수 있기를 원합니다. 그는 F2 키를 제외하고 Excel의 모든 기능 키를 비활성화하는 방법이 있는지 궁금합니다.

방법이 있지만 매크로를 사용하여 수행해야합니다. 특히 Application 개체의 OnKey 메서드를 사용하는 것이 좋습니다. 이 코드는 F2를 제외한 모든 기능 키를 비활성화합니다.

Private Sub Workbook_Open()

Application.OnKey "{F1}", ""

Application.OnKey "{F3}", ""

Application.OnKey "{F4}", ""

Application.OnKey "{F5}", ""

Application.OnKey "{F6}", ""

Application.OnKey "{F7}", ""

Application.OnKey "{F8}", ""

Application.OnKey "{F9}", ""

Application.OnKey "{F10}", ""

Application.OnKey "{F11}", ""

Application.OnKey "{F12}", ""

End Sub

매크로는 ThisWorkbook 모듈에 추가해야하며 통합 문서를 열 때 자동으로 실행됩니다.

원하는 경우 매크로를 조금 더 짧게 만들 수 있습니다.

Private Sub Workbook_Open()

Dim sTemp As String     Dim J As Integer

For J = 1 to 12         If J <> 2 Then             sTemp = "{F" & Trim(Str(J)) & "}"

Application.OnKey sTemp, ""

End If     Next J End Sub

또한 통합 문서를 닫을 때 모든 기능 키를 다시 활성화하도록해야합니다. 다시이 매크로를 ThisWorkbook 모듈에 추가해야합니다.

Private Sub Workbook_BeforeClose(CANCEL As Boolean)

Application.OnKey "{F1}"

Application.OnKey "{F3}"

Application.OnKey "{F4}"

Application.OnKey "{F5}"

Application.OnKey "{F6}"

Application.OnKey "{F7}"

Application.OnKey "{F8}"

Application.OnKey "{F9}"

Application.OnKey "{F10}"

Application.OnKey "{F11}"

Application.OnKey "{F12}"

End Sub

동일한 코드의 더 짧은 버전을 사용할 수도 있습니다.

Private Sub Workbook_BeforeClose(CANCEL As Boolean)

Dim sTemp As String     Dim J As Integer

For J = 1 to 12         If J <> 2 Then             sTemp = "{F" & Trim(Str(J)) & "}"

Application.OnKey sTemp         End If     Next J End Sub

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13523)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.