더보기
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngU As Range
Dim rngAll As Range: Set rngAll = [e7].CurrentRegion
Set rngAll = rngAll.Offset(1, 1).Resize(rngAll.Rows.Count - 1, rngAll.Columns.Count - 1) '= 차수별 데이터
If Intersect(rngAll, Target) Is Nothing Then Exit Sub '= 차수별 데이터를 클릭하지 않으면 종료
rngAll.Interior.ColorIndex = xlNone '= 색상 초기화
rngAll.Font.Bold = False '= Bold 초기화
Set rngU = Intersect(rngAll, Union(Target.EntireRow, Target.EntireColumn)) '= 타겟의 가로 세로 영역을 설정
rngU.Interior.ColorIndex = 6 '= 노란색상
rngU.Font.Bold = True '= Bold 설정
End Sub
Sub 기초방62()
Dim str$
Dim rngAll As Range: Set rngAll = [e7].CurrentRegion
Dim rngA As Range
Set rngAll = rngAll.Offset(1, 1).Resize(rngAll.Rows.Count - 1, rngAll.Columns.Count - 1)
str = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text '= Caller를 통해서 매크로 버튼의 텍스트를 가져온다
Application.EnableEvents = False '= 이벤트 동작 일시정지
If str = "전체" Then
rngAll.Columns.Hidden = False '= 숨김 해제
ElseIf str = "홀수차" Then
rngAll.Columns.Hidden = False
odd_even rngAll, str
ElseIf str = "짝수차" Then
rngAll.Columns.Hidden = False
odd_even rngAll, str
End If
Application.EnableEvents = True '= 이벤트 동작 재 설정
End Sub
Sub odd_even(rngAll As Range, str$)
Dim rngA As Range
Dim i&
i = IIf(str = "짝수차", 0, 1) '= 짝수차에 0 / 홀수차에 1
For Each rngA In rngAll.Columns
If (rngA.Column + 1) Mod 2 <> i Then '= 버튼의 홀수 짝수 여부로
rngA.Hidden = True '= 열의 숨김 여부를 결정
End If
Next rngA
End Sub
이번 문제의 가장 핵심은
62번 문제
str = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
Application.Caller의 사용법을 알고 있는지...
62_1번 문제
Set rngU = Intersect(rngAll, Union(Target.EntireRow, Target.EntireColumn))
이 교집합을 통한 rngU를 구할수 있는지....
저 핵심구문을 알고 있는지 없는지의 문제였다.
도움이 되었길 바란다.
'VBA > 엑사남_기초방' 카테고리의 다른 글
[기초방] VBA 100제 #64 [ 유효성 검사를 통한 총 수량 구하기 ] (0) | 2023.09.19 |
---|---|
[기초방] VBA 100제 #63 [ X축, Y축 최대 최소값 구하기 ] (0) | 2023.09.19 |
[기초방] VBA 100제 #61 [ 사진 정보 가져오기 ] (2) | 2023.09.15 |
[기초방] VBA 100제 #60 [ 불일치 / 일치 같은 영역 색칠하기 ] (0) | 2023.09.15 |
[기초방] VBA 100제 #59 [ 불일치 영역 색칠하기 ] (0) | 2023.08.01 |
댓글