Wendy에는 C3 : P312 범위의 주 데이터와 함께 상당한 양의 데이터가 포함 된 워크 시트가 있습니다. 그녀는이 데이터 범위의 셀을 클릭하면 셀에 “x”를 넣는 매크로를 원합니다.

Excel에서 셀을 “클릭”하는 것으로 인식 할 수있는 이벤트는 없습니다.

아마도 가장 가까운 이벤트는 셀 선택이 변경 될 때마다 트리거되는 SelectionChange 이벤트 일 것입니다. 그런 다음 이벤트 핸들러는 셀 선택이 C3 : P312 범위 내에 있는지 확인한 다음 셀에 “x”를 배치 할 수 있습니다. 다음 이벤트 핸들러가이를 수행합니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rInt As Range     Dim rCell As Range

Set rInt = Intersect(Target, Range("C3:P312"))

If Not rInt Is Nothing Then         For Each rCell In rInt             rCell.Value = "x"

Next     End If     Set rInt = Nothing     Set rCell = Nothing End Sub

그러나이 방법에는 문제가 있습니다. 다른 셀을 클릭 할 때 SelectionChange 이벤트가 트리거 될뿐만 아니라 키보드를 사용하여 워크 시트의 한 셀에서 다른 셀로 이동하는 경우에도 트리거됩니다. 즉, 키보드를 사용하여 워크 시트에서 이동하면 이동하는 각 셀에 “x”문자의 꼬리가 남습니다.

이를 우회하는 한 가지 방법은 셀의 확인 및 변경을 트리거하는 이벤트를 변경하는 것입니다. Excel에는 “클릭”이벤트가 없지만 “두 번 클릭”이벤트가 있습니다. 이는 다음과 같이 두 번 클릭 한 셀을 변경할 수 있음을 의미합니다.

Private Sub Worksheet_BeforeDoubleClick( _             ByVal Target As Range, Cancel As Boolean)

Dim rInt As Range     Dim rCell As Range

Set rInt = Intersect(Target, Range("C3:P312"))

If Not rInt Is Nothing Then         For Each rCell In rInt             rCell.Value = "x"

Next     End If     Set rInt = Nothing     Set rCell = Nothing     Cancel = True End Sub

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

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

이 팁 (11681)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은 여기에서 찾을 수 있습니다.

link : / excel-Putting_an_X_in_a_Clicked_Cell [클릭 한 셀에 X 삽입].