Excel VBA Ersätt funktion

Liksom i Excel har vi en funktion där vi kan hitta och ersätta alla ord eller tecken eller meningar med alla bokstäver. Men genom den processen kan vi bara ersätta en typ av mening eller bokstav i taget. Med hjälp av VBA Replace Function kan vi ersätta lika många ord eller bokstäver eller meningar i ett enda skott. Detta sparar enorm tid och ansträngning genom att göra en aktivitet flera gånger. För detta kommer vi att använda ersättningsfunktionen som finns i den inbyggda VBA-funktionslistan.

Nedan syntax och argument för Ersätt funktion i VBA.

Hur använder jag Excel VBA Ersättningsfunktion?

Vi lär dig hur man använder en VBA Replace Excel-funktion med några exempel.

Du kan ladda ner denna VBA Ersätt Excel-mall här - VBA Ersätta Excel-mall

VBA Ersätt funktion - Exempel # 1

Vi har ett exempel på några meningar där vi kommer att ersätta ett ord och klistra in den uppdaterade meningen i meningen B-kolumnen.

Följ stegen nedan för att använda ersättningsfunktionen i Excel VBA.

Steg 1: Gå till VBA och välj Modul på Infoga menyfliken.

Steg 2: Skriv nu underkategori i namnet på en utförd funktion eller i valfritt namn enligt ditt val som visas nedan.

Koda:

 Sub VBA_Replace2 () Slut Sub 

Steg 3: Definiera nu en dimension som Lång eftersom vi kommer att välja en fullständig mening. Här har vi tagit det som X.

Koda:

 Sub VBA_Replace2 () Dim X Som Long End Sub 

Steg 4: Nu i det långa X, välj det maximala intervallet till där våra data kan gå upp. Här har vi tagit som A1000-cellintervall och för att gå upp tills våra data börjar använder End (xlUp) följt av en punkt (.) Rad. Vilket innebär att vi kommer att flytta upp i samma kolumn till den rad som har data. Denna process i livet Ctrl + Upp-pilknappen i Excel.

Koda:

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

Obs! Vi kan välja mellan End (xlDown) men det kanske inte lägger till någon paus eller tom cell mellan data om data har.

Steg 5: Definiera nu ytterligare en dimension Y så länge som visas nedan.

Koda:

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

Steg 6: Starta nu en för nästa slinga för den andra definierade dimensionen Y från cellposition 2 till till X-området (senast fylld cell)

Obs: Att välja cell 2 betyder att vi inte överväger rubriken här för att ersätta.

Koda:

 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 

Steg 7: Välj nu värdet på kolumn B som intervall som Y följt av en punkt (.), Det här är som att infoga en funktion i excel.

Koda:

 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 

Steg 8: Nu som vi har sett i VBA-syntax för ersättningsfunktion ovan skriver du nu Byt ut och välj kolumn A och Y som det första uttrycket i strängen följt av orden som vi behöver ersätta från tabellen.

Koda:

 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 = Replace (Range ("A "& Y), " Delhi ", " New Delhi ") Nästa Y End Sub 

Steg 9: Sätt nu samman hela koden och kör. När vi har gjort det kommer ordet "Delhi" från meningen A nu att ersättas med arbetet "New Delhi" och hela meningen kopieras till meningen B.

Vi kan välja en ordsträng eller en mening och ersätta den med alla nödvändiga bokstäver eller meningar.

VBA Ersätt funktion - Exempel # 2

Det finns ett annat sätt att ersätta ord eller meningar med hjälp av VBA-kodning. För detta har vi en lista med sju ämnen som upprepas. Och vi måste ersätta dessa ämnesnamn med att lägga till serienummer före varje ämnesnamn som visas nedan.

Som vi kan se i skärmbilden ovan har kolumn E unika namn på de ämnen som finns där i kolumn B och kolumn F har ämnesnamn med ett serienummer i början av det.

Följ nedanstående steg för att använda Ersättningsfunktionen i VBA.

Steg 1: Gå nu till VBA och lägg till en ny modul från Infoga-menyn. När vi har kommit till det börjar du skriva underkategorin i namnet på en funktion som utförs enligt nedan.

Koda:

 Sub VBA_Replace () Slut Sub 

Steg 2: Betrakta nu en dimension Rng som Range, InputRng som Range och ReplaceRng som Range. Du kan välja andra bokstäver eller ord för att definiera intervall.

Koda:

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

Steg 3: Använd nu xTitleId som dialogruta och ge det ett namn. Här har vi fått namnet “ VBA_Replace ”.

Koda:

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

Steg 4: Tilldela nu Application.Selection med InputRng, detta gör det möjligt att använda den valda applikationen i VBA.

Koda:

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

Steg 5: Sätt nu in nästa rad en InputBox av tre typer, Originalområde, xTitleId och InputRng. Original Range är en lista över de ämnen som behövs för att ersättas, listade i kolumn B. xTitledId är dialogrutans namn i den utförda funktionen. Och InputRng är ett intervall av datatabeller i kolumn E och F.

Koda:

 Sub VBA_Replace () Dim Rng As 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) Avsluta under 

Steg 6: Tilldela nu en ingång för ReplaceRng i nästa rad och välj kolumnen Ersätt område för detta. Resten av det som samma.

Koda:

 Sub VBA_Replace () Dim Rng As 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) Ställ in ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) End Sub 

Steg 7: Nu kommer vi att använda Application.Screenupdating-funktionen, som namnet säger att den används för att uppdatera om den är FALSE.

Koda:

 Sub VBA_Replace () Dim Rng As 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) Ställ in ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Steg 8: Sätt nu in en nästa slinga . Och för varje Rng-område, ersätt värdena från ReplaceRng-kolumnen.

Koda:

 Sub VBA_Replace () Dim Rng As 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) Ställ in ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False för varje Rng i ReplaceRng.Columns (1) .Cells Next End Sub 

Steg 9: Slutligen ersätt InputRng med värdena som finns i Rng från hela arket.

Koda:

 Sub VBA_Replace () Dim Rng As 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) Ställ in ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False för varje Rng I ReplaceRng.Columner (1) .Cells InputRng.Replace what: = Rng.Value, ersättning: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Steg 10: När du är klar, kompilera och kör koden nu. Vi kommer att få en dialogruta i namnet VBA_Replace. Härifrån väljer du listan över ämnen som vi behöver ersätta som originalintervall och klicka på OK. Då får vi en annan ruta därifrån och välj Ersättningsområdet från E2 till F8 . Denna tabell har de data som behöver ersättas och klicka på OK.

Vi kommer att få data i kolumn B som kommer att ersättas från data i kolumn F med serienummer.

Till en översikt har kolumn E unika ämnesnamn. Och kolumn F har ämnesnamn med serienummer. Så med dessa data i kolumn B ersätts med data i kolumn F.

Fördelar med VBA Ersätt funktion

  • Vi kan ersätta flera ord eller meningar i ett enda skott.
  • Det finns ingen gräns för ord eller text vad vi inte kan ersätta med.
  • Syntax of Replace in VBA är lika enkelt som att använda SumIf-funktionen i Excel.
  • VBA Ersätt som visas i exempel 1 är det enklaste sättet att applicera.

Saker att komma ihåg

  • Spara som Marco aktiverat Excel för att undvika att förlora skriftlig kod i VBA.
  • Tänk alltid på dimensionerna på ett sådant sätt att det skapar ett mervärde medan vi väljer de i koden.
  • Se till att du väljer hela arket som visas i exempel-2 om det är begränsat för att få resultatet. Eller annars kan du definiera och välja begränsat cellområde som skulle användas under Ersättningsfunktion.

Rekommenderade artiklar

Detta har varit en guide till VBA Replace Function. Här diskuterade vi VBA Replace och hur man använder Excel VBA Replace Function tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Komplett handledning om VBA-loopar
  2. Hur man använder VBA gör medan slingan?
  3. Vad är VBA-nummerformat?
  4. Hur skapar jag VBA MsgBox?

Kategori: