엑셀 VBA 매크로 특정 단어가 있는 행 찾는 방법

2024. 8. 1. 23:32 / 서기랑

 엑셀의 열에서 특정 단어가 있는 셀을 찾아 그 위치를 알아내고 그 이후의 데이터를 처리할 때 사용할 수 있는 간단한 VBA 매크로 코드이다.

 코드 자체도 간단하고 간단한 설명도 첨부했으니 아래의 글을 참고하면 매크로를 작성할 때 도움이 될 것이다.

 

엑셀 VBA 매크로 특정 단어가 있는 행 찾기

1. 코드 예시.

 열에서 특정 단어가 있는 행을 찾기 위한 코드는 아래와 같은 방식으로 작성할 수 있다.

For Each cell In Range("")
 If cell.Value = "찾을 단어" Then
  수행할 내용
  Exit For
 End If
Next cell

 

 

 예를 들어 A열에서 "구분"이라는 단어가 있는 행을 찾아 header_num이라는 변수에 값을 넣고자 한다면 아래와 같이 사용할 수 있다.

For Each cell In Range("A:A")
 If cell.Value = "구분" Then
  header_num = cell.row
  Exit For
 End If
Next cell

 

2. 코드의 설명.

- For Each cell In ws.Range("A:A")

 For문을 사용하여 A열의 모든 셀을 순차적으로 반복하는 루프를 시작하는 부분.

 cell은 A열의 각 셀을 나타내는 변수이며 Range("A:A")는 A열 전체를 의미한다.

 

- If cell.Value = "구분" Then

 이 조건문은 현재 셀의 값이 "구분"인지 확인하는 부분.

 cell.Value는 현재 셀의 값을 나타내며 이를 "구분"과 같은지 비교한다.

 다른 단어를 찾고 싶다면 이 부분을 변경하면 된다.

 

- header_num = cell.Row

 Exit for

 if 조건이 맞다면 수행하는 부분.

 여기서는 셀 값이 "구분"이 맞다면 그 셀의 행 번호를 header_num 변수에 저장하는 작업을 수행하고 더 이상 조건문을 반복할 필요가 없어지기 때문에 Exit for로 반복문을 종료한다.

 열에서 특정 단어를 찾았을 때 행 값을 반환하는 것이 아닌 다른 작업을 수행하고 싶다면 이 부분을 변경하며 된다.

 

- End if

 if 문의 종료를 위한 부분.

 

- Next cell

 루프의 다음 셀로 이동하는 부분.

 A열의 모든 셀을 검사할 때까지 이 과정을 반복한다.

 

그 외 내용

 위 코드는 엑셀 VBA 매크로에서 열에서 특정 값을 찾아 행 값을 찾아야 하는 경우 자주 사용하는 코드가 아닐까 한다.

 물론 해당 코드가 정답은 아니고 다른 방식으로도 사용이 가능하지만 해당 코드를 참고하여 응용하면 생각보다 어렵지 않게 사용이 가능하지 않을까 한다.

 해당 코드를 조금만 변경하면 반대로 열을 찾는 것도 가능하다.

 엑셀 VBA 매크로 특정 단어가 있는 열 찾는 방법