
가로+세로 동시 강조로 대용량 시트에서도 실수 0에 가깝게
왜 필요한가? (Pain → Gain)
- 스크롤 지옥: 열이 10개, 20개 넘어가면 가로로 조금만 스크롤해도 내가 보고 있던 행·열의 기준점을 잃기 쉽습니다.
- 눈이 먼저 피곤: 머리로 좌표를 계속 맞추려다 보니 피로도↑, 속도↓, 오입력↑.
- 필터/정렬 후 검증 어려움: 필터링된 상태에서 특정 셀의 **가로줄(행)과 세로줄(열)**을 함께 보지 않으면 맥락 파악이 번번이 틀어집니다.
👉 해결책: 선택한 셀을 기준으로 ‘가로줄 + 세로줄’을 동시에 연노랑으로 칠해 십자가 모양을 만들어 시선을 안내합니다.
행과 열이 한눈에 잡히니, 타이핑 실수·참조 실수·검증 시간이 드라마틱하게 줄어듭니다.
무엇이 달라지나? (효과)
- 즉시 맥락 파악: 선택 셀의 행 전체 + 열 전체가 함께 강조 → 좌표를 외우지 않아도 됩니다.
- 정확도 향상: SKU, 코드, 금액, 날짜 등 옆·위 데이터 매칭 실수가 크게 줄어듭니다.
- 속도 개선: 셀 이동만 해도 실시간으로 하이라이트가 따라옴 → 검수/입력 속도↑
- 집중 유지: 복잡한 표일수록 시선 분산을 줄이고 뇌 부하를 낮춤.
기능 요약
- 선택한 셀 기준 행 전체(연노랑) + 열 전체(하늘색) 강조(십자가).
- 선택 셀 자체는 더 분홍색으로 강조(선택점이 또렷).
- 데이터 영역 안에서만 색칠(헤더/바깥 영역은 제외 가능).
- 다중 선택 시 자동 비활성화(혼란 방지).
- 빠른 동작: 지난 강조만 지우고 새로 칠해 대용량에서도 부드럽게.
설치·사용법 (Alt+F11로 바로 적용)
- Alt + F11 → VBA 편집기 열기
- 프로젝트 탐색기에서 하이라이트를 적용할 워크시트(예: Sheet1 등) 더블클릭
- 아래 코드를 그 워크시트 코드창에 붙여넣기
- 엑셀로 돌아와 셀을 클릭해 동작 확인
'======================================== ' 선택 셀 기준 "십자가(행+열)" 하이라이트 (빠르고 깔끔한 버전) ' - 데이터 테이블 기준점 : A3 기준 CurrentRegion ' - 헤더 2행, 왼쪽 1열은 제외해 데이터영역만 칠함 ' - 선택 셀 : 핑크색, 행 : 연노랑, 열 : 하늘색 '======================================== Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error GoTo SafeExit If Target.CountLarge > 1 Then Exit Sub '다중 선택 시 동작 안 함 Application.EnableEvents = False Dim base As Range, rTable As Range Dim t As Range, rowR As Range, colR As Range ' 1) 데이터 영역 정의 (필요 시 A1, 오프셋/리사이즈 값을 바꿔 쓰세요) Set base = Me.Range("A1").CurrentRegion Set rTable = base.Offset(1).Resize(base.Rows.Count - 1) ' 2) 이전 하이라이트 제거 ActiveSheet.UsedRange.Offset(1).Interior.ColorIndex = xlNone ' 기존 색 지우기 ' 3) 현재 타깃(다중 선택 대비: 첫 셀만 사용) Set t = Target.Cells(1, 1) ' 4) 행/열 교차 범위 계산 Set rowR = Intersect(rTable, t.EntireRow) Set colR = Intersect(rTable, t.EntireColumn) ' 5) 색칠: 연노랑(행), 하/열), 진한 노랑(선택 셀) If Not rowR Is Nothing Then rowR.Interior.ColorIndex = 36 '연노랑 If Not colR Is Nothing Then colR.Interior.ColorIndex = 34 '하늘색 If Not Intersect(rTable, t) Is Nothing Then t.Interior.ColorIndex = 38 '핑크색(선택점) End If SafeExit: Application.EnableEvents = True End Sub |