본문 바로가기
VBA/엑사남_기초방

[기초방] VBA 100제 #3 [ 나를찾아줘 ]

by 일등미노왕국 2022. 12. 26.

행을따라 움직이면서 [엑사남] 값들만 Union으로 묶어서 한번에 서식화하는 문제이다.

 

해당 코드는 [시훈아빠]님의 코드로 엑사남님도 칭찬해줬던 코드이고 본인역시 기본에 충실한 코드임을 인정한다.

여기서는 Union 사용이 중요한데 이때 젤 처음 rng_T Set부분이 좀 까달롭다.. 이부분은 필수구무이기 때문에 반드시 습득해야 하는 스킬이다.

그리고.....

아직도 어미품에 있는 새끼새 두마리....아주...난리다...

이제 둥지를 떠날때도 되었는데....

농담이고 정말 본인을 뜨겁게 하는 딱총님과 무지님이다...

참 코드 간결하고 이쁘다

 

무지님도 노력과 상승세가 무섭다... 참 이들과 함께 하는것이 참 영광이다.

 

위에서 모범답안들이 이미 나와서 본인은 자동필터로 구현을 하였다

솔직히 정렬 문제도 그렇고 자동 필터도 그렇고....굳이...이걸....VBA로....ㅋㅋ

더보기
Option Explicit

Sub 자동필터()

    Dim rngall As Range: Set rngall = [b3].CurrentRegion            '= 전체영역
    Dim rngA As Range: Set rngA = [h4]
    Dim rngX As Range

    초기화 rngall
    
    rngall.AutoFilter 1, rngA.Value, , , 1                           '= 자동필터 / 1번열 / 값은 [엑사남] , , , 필터아이콘 보이기

    Set rngall = rngall.Offset(1).Resize(rngall.Rows.Count - 1, 5)  '= 필터 헤더를 제외한 영역으로 rngAll 재설정
  
    Set rngX = rngall.SpecialCells(xlCellTypeVisible)               '= 필터중 보이는 셀만 rngX로 설정
    
    With rngX                                                       '= 필터 걸린 셀 서식입히기
    
        .Interior.ColorIndex = 6
        .Font.Color = vbRed
        .Font.Bold = True
    
    End With
        
    rngall.AutoFilter                                               '= 자동필터 해제

End Sub

Sub 초기화(rngall As Range)

    Set rngall = rngall.Offset(1).Resize(rngall.Rows.Count - 1, 5)
    
    With rngall
        .Interior.Color = xlNone
        .Font.Bold = False
        .Font.Color = vbBlack
    End With
    
    Set rngall = [b3].CurrentRegion
End Sub

예상되는 답안과 다르게 내야 하는것도 너무 머리가 아프니..그냥 참고 넘어가주길 바란다.

 

기초방#3(엑사남찾기) (1).xlsm
0.02MB

댓글