V tem članku bomo uporabili metodo iskanja predmeta Range, da označimo celico, ki vsebuje vrednost, podobno iskalnim besedam.
Neobdelani podatki za ta primer so sestavljeni iz imena podjetja, ID -ja zaposlenega in imena zaposlenega. Imamo surove podatke različnih podjetij.
V tem primeru želimo najti in označiti celico, ki se ujema z določenim imenom podjetja v celici I8.
Če želite označiti celice z določenimi imeni podjetij, vnesite ime podjetja v celico I8 in kliknite gumb »Pošlji«. Gumbu »Pošlji« je dodeljen makro »HighlightMatchingResult«.
Makro »HighlightMatchingResult« bo označil celico, ki vsebuje ujemajoče se ime podjetja z rumeno barvo.
Logična razlaga
V tem primeru smo ustvarili funkcijo po meri »FindRange« in makro »HighlightMatchingResult«.
Funkcija po meri »FindRange« bo ustvarila obseg z vsemi celicami, ki vsebujejo vrednost, podobno iskanemu imenu podjetja.
Makro »HighlightMatchingResult« bo poklical funkcijo po meri in označil obseg, ki ga funkcija po meri vrne v rumeni barvi.
Razlaga kode
SearchRange.Find (Kaj: = FindItem)
Zgornja koda se uporablja za iskanje celice, ki vsebuje vrednost, podobno FindItem.
Union (FindRange, MatchingRange)
Zgornja koda se uporablja za združevanje dveh obsegov v en sam obseg.
SearchRange.FindNext (MatchingRange)
Zgornja koda se uporablja za iskanje naslednje celice, ki vsebuje vrednost, podobno FindItem.
Za kodo sledite spodaj
Možnost Eksplicitna funkcija FindRange (FindItem kot varianta, SearchRange kot obseg) kot obseg "Deklariranje spremenljivk Dim MatchingRange kot obseg Dim FirstAddress As String With SearchRange" Iskanje obsega, katerega vrednost se ujema z FindItem Set MatchingRange = .Find (What: = FindItem) 'Preverjanje ali obstaja kakšno ujemanje, če ni MatchingRange ni nič, potem nastavite FindRange = MatchingRange 'Pridobivanje naslova prvega ujemajočega se območja FirstAddress = MatchingRange.Address Do' Združite vse obsege, katerih vrednost se ujema z FindItem Set FindRange = Union (FindRange, MatchingRange) 'Iskanje naslednji obseg, katerega vrednost se ujema z FindItem Set MatchingRange = .FindNext (MatchingRange) Loop While MatchingRange.Address FirstAddress End if End with End Funkcija Sub HighlightMatchingResult () 'Razglasitev spremenljivk Dim MappingRange kot obseg Dim UserInput As String' Vnos vrednosti od uporabnika celica I8 UserInput = Obseg ("I8"). Vrednost 'Klicanje funkcije po meri FindRange Nastavi MappingRange = FindRange (UserInput, ActiveSheet.C olumns ("A")) 'Označevanje preslikanega območja z rumeno barvo MappingRange.Interior.Color = RGB (255, 255, 0) End Sub
Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.
Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte