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

[기초방] VBA 100제 #15 [ 이벤트 + 사용자함수 ]

by 일등미노왕국 2023. 1. 15.

 

이벤트와 사용자함수를 이용하여 해당값들을 찾는 구문이다.

 

열 찾는 구문에서 보통 column 함수를 사용하면 열번호를 반환한다. 그렇기 때문에 CHR 함수를 통해서 숫자를 열의 알파벳으로 변화를 해야한다. 엑셀함수는 CHAR 이고 CHAR(65) = A 와 같다.

아래 코드는 전체 영역을 순환하면서 일치값이 있으면 열 머리값을 반환하는 코드이다.

For Each rngA In rngAll
    
        If rngA.Value = X Then
        
          Haja_find = Chr(64 + rngA.Column)
                              
          Exit Function
          
        End If
        
          Haja_find = "일치없음"
        
    Next rngA

나머지 이벤트 코드는 초기화 한 후 일치값에 색상을 입히는 단순한 코드이다.

오늘도 화이팅한 당신께 박수를 보낸다.

 

더보기
Option Explicit

Private Sub Worksheet_Calculate()

    Dim rngAll As Range: Set rngAll = [a2:i6]
    Dim rngF As Range: Set rngF = [k2]
    Dim rngX As Range
    
    rngAll.Interior.ColorIndex = xlNone                '= 색상 초기화
  
    Do Until IsEmpty(rngF)                             '= 찾기 영역이 빈값일때까지
    
         Set rngX = rngAll.Find(rngF, lookat:=xlWhole)
         
         On Error Resume Next                          '= 일치없음 이면 에러를 무시
            rngX.Interior.ColorIndex = 6
         On Error GoTo 0
         
         Set rngF = rngF.Offset(1)
    
    Loop

End Sub

더보기
Option Explicit

Function Haja_find(X) As String

    Dim rngAll As Range: Set rngAll = [a2:i6]
    Dim rngA As Range
  
    
    For Each rngA In rngAll
    
        If rngA.Value = X Then
        
          Haja_find = Chr(64 + rngA.Column)
                              
          Exit Function
          
        End If
        
          Haja_find = "일치없음"
        
    Next rngA
    
End Function

 

기초방15.xlsm
0.02MB

댓글