VBA zoeken en vervangen

Zoek en vervang functie in VBA

Als uw Excel-baan routinetaken omvat om iets te vinden en te vervangen door iets, dan heeft u dit artikel koste wat het kost nodig. Omdat u na het lezen van dit artikel waarschijnlijk 80% van uw tijd zou besparen door deze VBA-coderingstechniek te leren. Zoeken en vervangen in Excel is een vaak gebruikte tool en we kunnen hetzelfde ook met VBA implementeren. In ons eerdere artikel "VBA Find" hebben we u laten zien hoe u de FIND-methode in VBA gebruikt. In dit artikel laten we u zien hoe u de VBA-methode "Zoeken en vervangen" gebruikt.

Volg het artikel om deze techniek te leren.

VBA Syntaxis zoeken en vervangen

Om de methode Zoeken en vervangen in VBA te gebruiken, moeten we de onderstaande stappen volgen. Eerst hebben we het celbereik geselecteerd, dus noem het celbereik door het RANGE-object in VBA te gebruiken.

Plaats nu een punt (.) Om de IntelliSense-lijst te zien.

Selecteer de methode Vervangen in de lijst.

We kunnen de enorme parameterlijst van de Replace-methode zien. Nu zullen we elke parameter uitleg hieronder zien.

  • Wat: dit is niets anders dan wat we nodig hebben om de waarde te vervangen.
  • Vervanging: Met de gevonden waarde waarmee de nieuwe waarde moet worden vervangen.
  • Kijk naar: dit is om aan te geven of we naar de hele inhoud willen kijken of alleen naar het deel van de inhoud. We kunnen hier twee parameters opgeven “xlWhole” & “xlPart”.
  • Zoekvolgorde: dit is om de zoekvolgorde in rijen of kolommen te vermelden. We kunnen hier twee parameters opgeven: “xlByRows” & “xlByColumns”.
  • Match Case: de inhoud waarnaar we zoeken, is hoofdlettergevoelig of niet. Als het hoofdlettergevoelige argument WAAR is of anders FALSE.
  • Zoekformaat: we kunnen de inhoud ook zoeken op basis van de opmaak van de waarde waarnaar we op zoek zijn.
  • Formaat vervangen: we kunnen het ene formaat ook vervangen door een ander formaat.

Voorbeelden van VBA Zoeken en vervangen in Excel

Hieronder staan ​​enkele voorbeelden van de Excel VBA-methode Zoeken en vervangen.

U kunt deze VBA Excel-sjabloon zoeken en vervangen hier downloaden - VBA Excel-sjabloon zoeken en vervangen

Voorbeeld # 1 - VBA Zoek en vervang het woord

Oké, laten we eens kijken naar het volgende voorbeeld om de VBA-methode Zoeken en vervangen te begrijpen. Bekijk de volgende gegevens.

Stap 1: vermeld eerst het celbereik dat we vervangen. In dit voorbeeld is Bereik van A1 tot B15, dus de code is Bereik ("A1: B15").

Code:

 Sub Replace_Example1 () Range ("A1: B15") End Sub 

Stap 2: Plaats nu een punt om de IntelliSense-lijst te zien.

Stap 3: Selecteer de vervangingsmethode in de IntelliSense-lijst.

Stap 4: vermeld welke parameter als "september".

Code:

Bereik ("A1: B15"). Vervang wat: = "September"

Stap 5: Volgende Vervangen door parameter zou onze nieuwe waarde moeten zijn die we vervangen door bijv. “December”.

Code:

Bereik ("A1: D4"). Vervang wat: = "september", vervanging: = "december"

Ok, negeer vanaf nu alle andere parameters. Voer nu de VBA-code uit om de vervangingsmethode met VBA te zien.

Het heeft dus de hele september vervangen door het woord "december".

Voorbeeld # 2 - Hoofdlettergevoelige vervanging

Het meer geavanceerde voorbeeld van de VBA-methode Zoeken en vervangen zal de hoofdlettergevoelige vervangingsmethode gebruiken. Voor dit voorbeeld heb ik deze voorbeeldgegevens gemaakt zoals weergegeven in de onderstaande afbeelding.

We hebben twee celgegevens in hoofdletters "HALLO". Waar we ook een hoofdletter "HALLO" hebben, moet deze worden vervangen door het nieuwe woord "Hiii".

Schrijf zoals gewoonlijk de code, vermeld wat u eerst moet zoeken en wat u moet vervangen.

Code:

 Sub Replace_Example2 () Range ("A1: D4"). Replace What: = "HELLO", Replacement: = "Hiii" End Sub 

Schrijf nu voor het volgende argument "Match Case" de voorwaarde als TRUE.

Code:

Bereik ("A1: D4"). Replace What: = "HELLO", Replacement: = "Hiii", MatchCase: = True 

Voer nu de code uit, het zal alleen de hoofdletter "HELLO" vervangen door "Hiii".

Stel je voor dat je het Match Case-argument niet hebt toegepast in VBA, dan zal het alle "Hallo" naar "Hiii" vervangen.

Opmerking: ik heb het Match Case-argument hier verwijderd, standaard is de MATCH CASE-argumentwaarde FALSE.

Zoals we in de bovenstaande afbeelding kunnen zien, heeft het alle "hallo" woorden vervangen door "hiii".

Dus wanneer we MATCH CASE-criteria willen gebruiken, moeten we het argument toepassen als "TRUE" en standaard is deze argumentwaarde "FALSE". Op deze manier kunnen we de "FIND & REPLACE" -methode gebruiken om iets te vinden en de gevonden waarde te vervangen door iets anders.