이 기사에서는 Range 개체의 find 메서드를 사용하여 검색어와 유사한 값이 포함 된 셀을 강조 표시합니다.

이 예의 원시 데이터는 회사 이름, 직원 ID 및 직원 이름으로 구성됩니다. 우리는 다른 회사의 원시 데이터를 가지고 있습니다.

이 예에서는 셀 I8에서 특정 회사 이름과 일치하는 셀을 찾아 강조 표시하려고합니다.

ArrowRawData

특정 회사 이름이있는 셀을 강조 표시하려면 I8 셀에 회사 이름을 입력하고 “제출”버튼을 클릭합니다. “Submit”버튼에는 “HighlightMatchingResult”매크로가 할당됩니다.

ArrowCallingFunction

“HighlightMatchingResult”매크로는 노란색으로 일치하는 회사 이름이 포함 된 셀을 강조 표시합니다.

ArrowOutput

논리 설명

이 예에서는 사용자 지정 함수 “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]로 문의 해주세요