본문 바로가기

전체 글

(15)
자주 쓰는 VBA 패턴 (3) - 찾고 있는 값의 열 번호를 알파벳으로 반환 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 = ActiveShee..
자주 쓰는 VBA 패턴 (2) - 마지막 행, 마지막 열 찾기 스프레드 시트라는 엑셀의 특성상 어떤 VBA 코드를 짜던 간에 꼭 쓰게 되는 구문입니다. (데이터분석용으로 사용한다면 더더욱) 마지막 행 찾기 dim last_row as integer last_row = Cells(Rows.Count, 1).End(xlUp).Row 1열(A열)의 마지막 행의 값을 last_row 변수에 정수형으로 반환 마지막 열 찾기 dim last_col as integer last_col = Cells(3, Columns.Count).End(xlLeft).Column ': 3행의 값이 들어있는 마지막 셀을 찾는다. 3행의 마지막 열의 값을 last_col 변수에 정수형으로 반환 1과 3에 각각 원하는 행, 열 번호를 입력하면 됩니다. 마지막 행 값을 찾을 때에는 열 번호를, 마지막..
자주 쓰는 VBA 패턴 (1) - 찾는 값이 배열 안에 있는지 확인 파이썬에서는 va in list 형태의 명령어로 특정 값이 리스트에 있는지 확인할 수 있다. 아래의 코드는 vba에는 파이썬과 같은 리스트 자료형 없다. 배열에서 va in list와 같은 형태의 명령을 사용하기 위해 만든 함수이다. Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean Dim i For i = LBound(arr) To UBound(arr) If arr(i) = stringToBeFound Then IsInArray = True Exit Function End If Next i IsInArray = False End Function