Range 개체의 방법을 찾기
이 기사에서는 Range 개체의 find 메서드를 사용하여 검색어와 유사한 값이 포함 된 셀을 강조 표시합니다.
이 예의 원시 데이터는 회사 이름, 직원 ID 및 직원 이름으로 구성됩니다. 우리는 다른 회사의 원시 데이터를 가지고 있습니다.
이 예에서는 셀 I8에서 특정 회사 이름과 일치하는 셀을 찾아 강조 표시하려고합니다.
특정 회사 이름이있는 셀을 강조 표시하려면 I8 셀에 회사 이름을 입력하고 “제출”버튼을 클릭합니다. “Submit”버튼에는 “HighlightMatchingResult”매크로가 할당됩니다.
“HighlightMatchingResult”매크로는 노란색으로 일치하는 회사 이름이 포함 된 셀을 강조 표시합니다.
논리 설명
이 예에서는 사용자 지정 함수 “FindRange”와 매크로 “HighlightMatchingResult”를 만들었습니다.
사용자 지정 함수 “FindRange”는 검색된 회사 이름과 유사한 값을 포함하는 모든 셀로 범위를 만듭니다.
“HighlightMatchingResult”매크로는 사용자 지정 함수를 호출하고 사용자 지정 함수에서 반환 된 범위를 노란색으로 강조 표시합니다.
코드 설명
SearchRange.Find (What : = FindItem)
위 코드는 FindItem과 유사한 값을 포함하는 셀을 찾는 데 사용됩니다.
Union (FindRange, MatchingRange)
위의 코드는 두 범위를 단일 범위로 결합하는 데 사용됩니다.
SearchRange.FindNext (MatchingRange)
위 코드는 FindItem과 유사한 값을 포함하는 다음 셀을 찾는 데 사용됩니다.
아래 코드를 따르세요
Option Explicit Function FindRange(FindItem As Variant, SearchRange As Range) As Range 'Declaring variables Dim MatchingRange As Range Dim FirstAddress As String With SearchRange 'Finding the range whose value match with FindItem Set MatchingRange = .Find(What:=FindItem) 'Checking whether any match exist If Not MatchingRange Is Nothing Then Set FindRange = MatchingRange 'Getting the address of first matching range FirstAddress = MatchingRange.Address Do 'Union of all the ranges whose value match with FindItem Set FindRange = Union(FindRange, MatchingRange) 'Finding the next range whose value match with FindItem Set MatchingRange = .FindNext(MatchingRange) Loop While MatchingRange.Address <> FirstAddress End If End With End Function Sub HighlightMatchingResult() 'Declaring variables Dim MappingRange As Range Dim UserInput As String 'Getting value input by user from cell I8 UserInput = Range("I8").Value 'Calling FindRange custom function Set MappingRange = FindRange(UserInput, ActiveSheet.Columns("A")) 'Highlighting the mapped range with Yellow color MappingRange.Interior.Color = RGB(255, 255, 0) End Sub
이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.
여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요