Excel VBA erstatte funksjon

Som i Excel har vi en funksjon der vi kan finne og erstatte alle ord eller tegn eller setninger med hvilken som helst bokstav. Men ved den prosessen kan vi bare erstatte en slags setning eller bokstav om gangen. Ved hjelp av VBA Replace Function kan vi erstatte så mange ord eller bokstaver eller setninger i et enkelt skudd. Dette sparer enorm tid og krefter på å gjøre en enkelt aktivitet flere ganger. For dette vil vi bruke Erstatt-funksjonen som er i den innebygde VBA-funksjonslisten.

Under syntaks og argument for Erstatt funksjon i VBA.

Hvordan bruke Excel VBA Erstatt funksjon?

Vi lærer hvordan du bruker en VBA Replace Excel-funksjon med få eksempler.

Du kan laste ned denne VBA Replace Excel Template her - VBA Replace Excel Template

VBA Erstatt funksjon - eksempel # 1

Vi har eksempler på noen setninger der vi vil erstatte ett ord og lime den oppdaterte setningen i setning B-kolonne.

Følg trinnene nedenfor for å bruke Erstatt-funksjonen i Excel VBA.

Trinn 1: Gå til VBA og velg Modul i Sett inn menyfanen.

Trinn 2: Skriv nå underkategori i navnet på en utført funksjon eller i hvilket som helst navn etter ditt valg som vist nedenfor.

Kode:

 Sub VBA_Replace2 () Slutt Sub 

Trinn 3: Definer nå en dimensjon som lang, da vi skal velge en fullstendig setning. Her har vi tatt det som X.

Kode:

 Sub VBA_Replace2 () Dim X As Long End Sub 

Trinn 4: Nå i det lange X, velg det maksimale området til hvor dataene våre kan gå opp. Her har vi tatt som A1000 celleområde og for å gå opp til dataene våre begynner å bruke Slutt (xlUp) etterfulgt av en prikk (.) Rad. Noe som betyr at vi beveger oss opp i samme kolonne til den raden som har dataene. Denne prosessen i livet Ctrl + pil opp i Excel.

Kode:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row End Sub 

Merk : Vi kan velge mellom Slutt (xlDown), men det vil kanskje ikke legge til noen brudd eller tom celle mellom dataene hvis data har.

Trinn 5: Definer nå enda en dimensjon Y så lenge som vist nedenfor.

Kode:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Rad Dim Y As Long End Sub 

Trinn 6: Start nå en For neste- sløyfe for den andre definerte dimensjonen Y fra celleposisjon 2 til til X-området (sist fylte celle)

Merk: Å velge celle 2 betyr at vi ikke vurderer overskriften her for erstatning.

Kode:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Rad Dim Y As Long For Y = 2 To X Next Y End Sub 

Trinn 7: Velg nå verdien for kolonne B som område som Y etterfulgt av en prikk (.), Dette er som å sette inn en funksjon i excel.

Kode:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Rad Dim Y As Long For Y = 2 To X Range ("B" & Y) .Value = Next Y End Sub 

Trinn 8: Nå som vi har sett i VBA-syntaks for Erstatt funksjon ovenfor, skriver du nå Erstatt og velg Kolonne A og Y som det første uttrykk for streng etterfulgt av ordene som vi trenger å erstatte fra tabellen.

Kode:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Rad Dim Y As Long For Y = 2 To X Range ("B" & Y) .Value = Erstatt (Range ("A "& Y), " Delhi ", " New Delhi ") Neste Y End Sub 

Trinn 9: Sett sammen den komplette koden og kjør. Når vi først har gjort det, vil ordet "Delhi" fra setning A nå erstattes med arbeidet "New Delhi", og hele setningen blir kopiert til setning B.

Vi kan velge en streng med ord eller en setning og erstatte den med alle nødvendige bokstaver eller setninger.

VBA Erstatt funksjon - eksempel # 2

Det er en annen måte å erstatte ord eller setninger ved hjelp av VBA-koding. For dette har vi en liste over syv emner som blir gjentatt. Og vi må bytte ut de emnenavnene med å legge til serienumre før hvert emnenavn som vist nedenfor.

Som vi kan se på skjermbildet ovenfor, har kolonne E unike navn på de emnene som er der i kolonne B, og kolonne F har emnenavnene med et serienummer i starten av det.

Følg trinnene nedenfor for å bruke Erstatt funksjon i VBA.

Trinn 1: Gå til VBA og legg til ny modul fra Sett inn-menyen. Når vi har fått det til, kan du begynne å skrive underkategorien i navnet på en funksjon som blir utført som vist nedenfor.

Kode:

 Sub VBA_Replace () Slutt Sub 

Trinn 2: Vurder nå en dimensjon Rng som Range, InputRng som Range og ReplaceRng som Range. Du kan velge andre bokstaver eller ord for å definere områder.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng Som Range, ReplaceRng As Range End Sub 

Trinn 3: BrukxTitleId som dialogboks og gi den et navn. Her har vi kalt det “ VBA_Replace ”.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" End Sub 

Trinn 4: Tildel nå Application.Selection med InputRng, dette gjør det mulig å bruke den valgte applikasjonen i VBA.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection End Sub 

Trinn 5: Sett inn en InputBox av tre typer, Original rekkevidde, xTitleId og InputRng på neste linje. Original Range er en liste over emner som er nødvendige for å bli erstattet, oppført i kolonne B. xTitledId er dialogboksenavnene i den utførte funksjonen. Og InputRng er et utvalg av datatabeller i kolonne E og F.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Slutt sub 

Trinn 6: Tildel nå en inngang for ReplaceRng på neste linje, og velg Erstatt område-kolonne for denne. Resten av det som det samme.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Sett ReplaceRng = Application.InputBox ("Erstatt område:", xTitleId, Type: = 8) Slutt sub 

Trinn 7: Nå vil vi bruke Application.Screenupdating-funksjonen, som navnet sier at den brukes til å oppdatere hvis den er FALSE.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Sett ReplaceRng = Application.InputBox ("Erstatt område:", xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Trinn 8: Sett inn en For-Next-loop . Og erstatt verdiene fra kolonnen ReplaceRng for hvert Rng-område.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Angi ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False for hver Rng I ReplaceRng.Colonner (1) .Cells Next End Sub 

Trinn 9: Endelig erstatt InputRng med verdiene som er til stede i Rng fra hele arket.

Kode:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Sett ReplaceRng = Application.InputBox ("Erstatt rekkevidde:", xTitleId, Type: = 8) Application.ScreenUpdating = Falske for hver Rng I ReplaceRng.Colonner (1) .Celler InputRng.Utbytt hva: = Rng.Value, erstatning: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Trinn 10: Når du er ferdig, kompiler og kjør nå koden. Vi vil få en dialogboks i navnet til VBA_Replace. Herfra velger du listen over emner som vi trenger å erstatte som Original Range og klikk på OK. Så vil vi få en annen boks derfra, velg Erstatt området fra E2 til F8 . Denne tabellen har dataene som må erstattes, og klikk på OK.

Vi vil få data i kolonne B som vil erstattes fra dataene i kolonne F med serienummer.

Til oversikt har kolonne E unike emnenavn. Og kolonne F har emnenavn med serienumre. Så med disse dataene i kolonne B erstattes det med data i kolonne F.

Fordeler med VBA Erstatt funksjon

  • Vi kan erstatte flere ord eller setninger i et enkelt skudd.
  • Det er ingen begrensning av ord eller tekst hva vi ikke kan erstatte med.
  • Syntax of Replace in VBA er like enkelt som å bruke SumIf-funksjon i Excel.
  • VBA Erstatt som vist i eksempel-1 er den enkleste måten å bruke på.

Ting å huske

  • Lagre som Marco aktivert Excel for å unngå å miste skrevet kode i VBA.
  • Vurder alltid dimensjonene på en slik måte at det vil skape en verdiøkning mens vi velger de i koden.
  • Forsikre deg om at du velger hele arkområdet som vist i eksempel-2 hvis det er begrenset til å oppnå resultatet. Ellers kan du definere og velge begrenset celleområde som vil bli brukt under Erstatt funksjon.

Anbefalte artikler

Dette har vært en guide til VBA Replace Function. Her diskuterte vi VBA Replace og hvordan du bruker Excel VBA Replace Function sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Fullfør veiledning på VBA-løkker
  2. Hvordan bruke VBA gjør mens sløyfe?
  3. Hva er VBA-nummerformat?
  4. Hvordan lage VBA MsgBox?

Kategori: