VBA – 단일 열에서 값 찾기

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 5월 8, 2023

이 튜토리얼에서는 VBA를 사용하여 단일 열에서 값을 찾는 방법을 설명합니다.

값이 있는 열을 반복하여 Range.Find 문을 사용해서 지정된 조건과 일치하는 모든 셀을 찾을 수 있습니다.

Range.Find 및 Range.FindNext를 사용하여 열 반복하기

아래 예제에서는 열의 데이터를 반복하여 “Overdue”라는 단어를 찾고 있습니다. 이 단어를 찾으면 해당 셀 텍스트의 색상을 빨간색으로 변경합니다. 그런 다음 Range.FindNext 메서드를 사용하여 다음 셀로 이동하고 지정된 셀 범위가 끝날 때까지 루프를 계속하면서 단어를 계속 찾습니다.

Sub FindLoop()
 Dim strFirstAddress As String
 Dim rngFindValue As Range
 Dim rngSearch As Range
 Dim rngFind As Range
 Set rngFind = ActiveSheet.Range("F1:F17")
 Set rngSearch = rngFind.Cells(rngFind.Cells.Count)
 Set rngFindValue = rngFind.Find("Overdue", rngSearch, xlValues)
 If Not rngFindValue Is Nothing Then
   strFirstAddress = rngFindValue.Address
   rngFindValue.Font.Color = vbRed
   Do
     Set rngFindValue = rngFind.FindNext(rngFindValue)
     rngFindValue.Font.Color = vbRed
  Loop Until rngFindValue.Address = strFirstAddress
 End If
End Sub

코드가 실행되면 데이터가 발견된 첫 번째 셀의 주소를 변수 strFirstAddress에 저장하고 텍스트의 색상을 빨간색으로 변경합니다. 그런 다음 검색할 데이터가 포함된 다음 셀을 찾기 위해 Do Until 루프를 사용합니다. 값이 발견되면 텍스트의 색상을 빨간색으로 변경하고 값이 발견된 셀의 주소를 문자열 strFirstAddress와 비교합니다. 동일하지 않으면 루프가 계속 진행되어 ‘Overdue’라는 단어를 찾습니다. 루프가 셀 범위의 끝(즉, F17)에 도달하면 범위의 시작(F1)에서 다시 시작하여 루프를 계속 반복합니다. 셀 주소 F3에 도달하면 저장된 변수 strFirstAddress와 동일하므로 루프가 중지됩니다.

VBA Find Column

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기