VBA로 코드를 짜다 보면, C에 개체 대신 반드시 Range 개체를 사용하고 싶을 때가 있다.
Range 개체는 열 번호를 엑셀의 알파벳 값으로 받기 때문에 ( )안의 값 을 하드 코딩하지 않고 변수로 처리하려면 Range (Var1 & Var2) 또는 Range (var1& var2 & ":" & var3 & var4)과 같은 식으로 처리해야 된다.
이때 아래의 코드가 도움이 될 것이다.
Function FindColLetter(hdr_row As Integer, search_value As Variant) As String
Dim search_rng As Range
Dim found_cell As Range
Dim col_letter As String
Set search_rng = ActiveSheet.Rows(hdr_row)
Set found_cell = search_rng.Find(What:=search_value, LookIn:=xlValues, LookAt:=xlWhole)
If Not found_cell Is Nothing Then
col_letter = Replace(found_cell.Cells.Address(False, False), hdr_row & "", "")
FindColLetter = col_letter
Else
FindColLetter = "Value not found."
End If
End Function해더가 있는 데이터 프레임에서 특정 해더의 값을 찾아서 그 값이 몇 열에 있는지를 알파벳으로 반환한다.
'vba' 카테고리의 다른 글
| 자주 쓰는 VBA 패턴 (5) : 해더에서 원하는 값 찾아 열 번호로 반환 (0) | 2023.08.07 |
|---|---|
| 자주 쓰는 VBA 개체 : Range 개체(1) - Range 속성 (0) | 2023.08.04 |
| 자주 쓰는 VBA 패턴 (4) : VBA로 index match 함수 구현하기 (0) | 2023.08.02 |
| 자주 쓰는 VBA 패턴 (2) - 마지막 행, 마지막 열 찾기 (0) | 2023.07.31 |
| 자주 쓰는 VBA 패턴 (1) - 찾는 값이 배열 안에 있는지 확인 (0) | 2023.07.30 |