Excel VBA Udskift funktion

Som i Excel har vi en funktion, hvor vi kan finde og erstatte ethvert ord eller tegn eller sætning med ethvert bogstav. Men ved denne proces kan vi kun erstatte en slags sætning eller bogstav ad gangen. Ved hjælp af VBA Replace-funktion kan vi erstatte så mange ord eller bogstaver eller sætninger i et enkelt skud. Dette sparer enorm tid og kræfter ved at udføre en enkelt aktivitet flere gange. Til dette bruger vi funktionen Erstat, som findes i den indbyggede VBA-funktionsliste.

Nedenfor syntaks og argument for Erstat funktion i VBA.

Sådan bruges Excel VBA erstatningsfunktion?

Vi lærer, hvordan man bruger en VBA Replace Excel-funktion med få eksempler.

Du kan downloade denne VBA Replace Excel Template her - VBA Replace Excel Template

VBA Udskift funktion - eksempel # 1

Vi har en eksempeldata for nogle sætninger, hvor vi vil erstatte et ord og indsætte den opdaterede sætning i sætning B-kolonne.

Følg nedenstående trin for at bruge Udskift-funktionen i Excel VBA.

Trin 1: Gå til VBA og vælg Modul i Indsæt menu-fanen.

Trin 2: Skriv nu underkategori i navnet på en udført funktion eller i ethvert navn efter dit valg som vist nedenfor.

Kode:

 Sub VBA_Replace2 () End Sub 

Trin 3: Definer nu en dimension som lang, da vi vælger en komplet sætning. Her har vi taget det som X.

Kode:

 Sub VBA_Replace2 () Dim X Som Long End Sub 

Trin 4: I det lange X skal du nu vælge det maksimale interval, indtil hvor vores data kan gå op. Her har vi taget som A1000-celleområdet og til at gå op, indtil vores data begynder, bruges End (xlUp) efterfulgt af en prik (.) Række. Hvilket betyder, at vi bevæger os op i den samme kolonne indtil den række, der har dataene. Denne proces i livet Ctrl + pil op i excel.

Kode:

 Sub VBA_Replace2 () Dim X som lang X = Range ("A1000"). Ende (xlUp) .Row End Sub 

Bemærk : Vi kan vælge mellem Slut (xlDown), men det tilføjer muligvis ikke nogen brud eller tom celle mellem dataene, hvis data har.

Trin 5: Definer nu endnu en dimension Y så længe som vist nedenfor.

Kode:

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

Trin 6: Start nu en For næste loop for den anden definerede dimension Y fra celleposition 2 til indtil X-område (sidst udfyldte celle)

Bemærk: Valg af celle 2 betyder, at vi ikke overvejer overskriften her til erstatning.

Kode:

 Sub VBA_Replace2 () Dim X som lang X = rækkevidde ("A1000"). Ende (xlUp) .Række dim Y som lang for Y = 2 til X Næste Y End Sub 

Trin 7: Vælg nu værdien af ​​kolonne B som rækkevidde som Y efterfulgt af en prik (.) Dette er som at indsætte en funktion i excel.

Kode:

 Sub VBA_Replace2 () Dim X som lang X = rækkevidde ("A1000"). Ende (xlUp). Række dim Y så lang for Y = 2 til X rækkevidde ("B" & Y). Værdi = Næste Y slutning Sub 

Trin 8: Nu, som vi har set i VBA-syntaks for Udskift funktion ovenfor, skriv nu Udskift og vælg kolonne A og Y som det første udtryk for streng efterfulgt af de ord, som vi skal erstatte fra tabellen.

Kode:

 Sub VBA_Replace2 () Dim X som lang X = rækkevidde ("A1000"). Ende (xlUp). Række dim Y som lang for Y = 2 til X rækkevidde ("B" & Y). Værdi = erstat (rækkevidde ("A "& Y), " Delhi ", " New Delhi ") Næste Y End Sub 

Trin 9: Kompilér nu den komplette kode og kør. Når vi først har gjort det, bliver ordet "Delhi" fra sætning A nu erstattet med værket "New Delhi", og hele sætningen kopieres til sætning B.

Vi kan vælge en streng ord eller en sætning og erstatte den med alle nødvendige bogstaver eller sætninger.

VBA Udskift funktion - eksempel # 2

Der er en anden måde at erstatte ord eller sætninger ved hjælp af VBA-kodning. Til dette har vi en liste over 7 emner, der gentages. Og vi er nødt til at erstatte disse emnenavne med at tilføje serienumre før hvert emnenavn som vist nedenfor.

Som vi kan se på ovenstående skærmbillede, har kolonne E unikke navne på de emner, der er der i kolonne B, og kolonne F har emnenavnene med et serienummer i starten af ​​det.

Følg nedenstående trin for at bruge Erstat funktion i VBA.

Trin 1: Gå nu til VBA og tilføj nyt modul fra menuen Indsæt. Når vi først har fået det, skal du begynde at skrive underkategorien i navnet på en funktion, der udføres som vist nedenfor.

Kode:

 Sub VBA_Replace () End Sub 

Trin 2: Overvej nu en dimension Rng som Range, InputRng som Range og ReplaceRng som Range. Du kan vælge alle andre bogstaver eller ord til at definere intervaller.

Kode:

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

Trin 3: Brug nu xTitleId som dialogboks og giv det et navn. Her har vi kaldt det " VBA_Replace ".

Kode:

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

Trin 4: Tildel nu Application.Selection med InputRng, dette gør det muligt for det valgte program at blive brugt i VBA.

Kode:

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

Trin 5: Indsæt nu en InputBox af 3 typer, Original rækkevidde, xTitleId og InputRng i næste linje. Original Range er en liste over emner, der er nødvendige for at blive erstattet, anført i kolonne B. xTitledId er dialogboksenavne i den udførte funktion. Og InputRng er en række datatabeller i kolonne E og F.

Kode:

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

Trin 6: Tildel nu en næste linje en input til ReplaceRng i næste linje, og vælg kolonnen Erstat område for dette. Resten af ​​det som det samme.

Kode:

 Sub VBA_Replace () Dim Rng Som Range Dim InputRng Som Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Sæt ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) End Sub 

Trin 7: Nu bruger vi Application.Screenupdating-funktionen, som navnet siger, at den bruges til opdatering, hvis den er FALSE.

Kode:

 Sub VBA_Replace () Dim Rng Som Range Dim InputRng Som Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Indstil ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Trin 8: Indsæt nu en For-Next-loop . Og for hvert Rng-område skal du udskifte værdierne fra ReplaceRng-kolonnen.

Kode:

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

Trin 9: Udskift endelig InputRng med de værdier, der findes i Rng fra hele arket.

Kode:

 Sub VBA_Replace () Dim Rng Som Range Dim InputRng Som Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Indstil ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False for hver Rng I ReplaceRng.Colonner (1) .Celler InputRng.Replace what: = Rng.Value, erstatning: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Trin 10: Når først det er gjort, skal du nu kompilere og køre koden. Vi får en dialogboks i navnet på VBA_Replace. Vælg herfra listen over emner, som vi skal erstatte som originalinterval, og klik på OK. Så får vi en anden boks derfra og vælg Erstat området fra E2 til F8 . Denne tabel har de data, der skal erstattes, og klik på OK.

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

Til en oversigt har kolonne E unikke emnenavne. Og kolonne F har emnenavne med serienumre. Så med disse data i kolonne B erstattes med data i kolonne F.

Fordele ved VBA Udskift funktion

  • Vi kan erstatte flere ord eller sætninger i et enkelt skud.
  • Der er ingen grænser for ord eller tekst, hvad vi ikke kan erstatte med.
  • Syntaks for udskiftning i VBA er så let som at bruge SumIf-funktion i Excel.
  • VBA Udskift som vist i eksempel-1 er den nemmeste måde at anvende.

Ting at huske

  • Gem som Marco aktiveret Excel for at undgå at miste skriftlig kode i VBA.
  • Overvej altid dimensionerne på en sådan måde, at det skaber en merværdi, mens vi vælger dem i kode.
  • Sørg for, at du vælger hele arket, som vist i eksempel-2, hvis det er begrænset til at få resultatet. Ellers kan du definere og vælge begrænset celleområde, som ville blive brugt under Udskift-funktionen.

Anbefalede artikler

Dette har været en guide til VBA Replace-funktion. Her diskuterede vi VBA Replace, og hvordan man bruger Excel VBA Replace-funktion sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Komplette selvstudier om VBA-sløjfer
  2. Sådan bruges VBA gør mens sløjfe?
  3. Hvad er VBA-nummerformat?
  4. Sådan oprettes VBA MsgBox?

Kategori: