Excel VBA: Søk etter tekst

Lære å finne tekst med Excel programmeringsspråk, VBA eller Visual Basic for Applications, er nyttig i flere situasjoner, blant annet følgende. Noen er å skrive en liste over e-postadresser, men bare visse adresser er gyldige. En annen del av arbeidsboken har de gyldige adresser. VBA "Finn" -kommandoen kan søke disse en gang en bruker skriver inn en adresse. Hvis "Finn" ikke finner adressen i listen, kan du VBA programmet varsle forbokstavene til en ugyldig adresse. Tilgang VBA fra Excel Developer fane. Hvis den kategorien ikke vises, må du kanskje sjekke Excel alternativer for å slå på skjermen.

Makro

En enkel måte å forstå hvordan du finner tekst med VBA er ved hjelp av Excel makro opptaker for å lage VBA uttalelser fra bruken av "Home" -kategorien er "Finn" -kommandoen. Skriv inn tekst i et regneark celle, for eksempel "abc", deretter en annen celle. Klikk på "Utvikler" fanen "Record" -knappen, og trykk deretter på "Control" og "F" tastene samtidig for å vise "Finn" dialogboksen programmets. Skriv inn noen tegn fra teksten du skrev inn i cellen. Klikk "Søk" for å navigere til cellen, og klikk deretter på "Stopp innspilling" -knappen på "Utvikler" fanen for å avslutte makroopptak.

Lese Makro Uttalelser

Etter at du har registrert en VBA-makro for å finne tekst, begynner å forstå hvordan det fungerer ved å lese program uttalelser. Vis listen over makroer i din nåværende arbeidsboken ved å klikke på "Utvikler" fanen "makroer" -knappen, og deretter klikke på navnet til din tekst-søking makro. For eksempel, klikk på "TextFinder" hvis det er navnet på makroen, klikk på "Edit" knappen for å vise VBA programmering uttalelser på "TextFinder."

Finn-Funksjon

VBA søker etter tekst i cellene i gjeldende regneark med "Søk" -funksjonen, som er medlem av "celler" samling. Denne samlingen representerer cellene i gjeldende regneark. Du kan få en god forståelse av argumentene denne funksjonen trenger ved å undersøke uttalelser fra en makro som søker etter tekst. Hvis du har tatt opp en makro som søker teksten "abc", makroen vil vises noe sånt som følgende:

Sub FindText ()

Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _

xlPart, Search: = xlByRows, SearchDirection: = xlNext, MatchCase: = False _

, SearchFormat: = False) .Activate

End Sub

argumentene

Den "Hva" argument av VBA "Finn" -kommandoen som søker etter tekst, har teksten du ønsker å søke etter. Excel vil søke etter tekst du angir for dette argumentet. "Hva" er det eneste argumentet om at "Finn" kommandoen krever. Alle andre argumenter er valgfrie. Du kan derfor søke etter teksten "abc", for eksempel, med utsagnet "Cells.Find (Hva: =" abc ").. Aktivere Hvis du trenger" Søk "for å matche en bestemt sak for" hva "tekst, viser at ved å sette "MatchCase" argument til «True." Dette argumentet er "False" som standard.

Returverdier og navigasjon

"Finn" kommando for å finne tekst med VBA ikke automatisk navigere til noen celler som inneholder teksten du søker etter. For å gjøre det gjøre det, bruker du "Aktiver" metode for returverdien fra «Finn». At returverdi er en "Range" objekt som representerer de cellene der "Finn" funnet teksten du lette etter. For eksempel, hvis du har søkt etter "abc" med "Finn", og bare én celle hadde som tekst, returverdien fra "Finn" ville være et enkeltcelleområde. Kjører som cellens "Aktiver" -funksjonen gjør at cellen den aktive cellen.