Note: The other languages of the website are Google-translated. Back to English

Hur hittar jag och ersätter flera värden samtidigt i Excel?

doc flera hitta ersätt 1

Som vi alla visste kan vi använda funktionen Sök och ersätt för att hitta flera samma celler och ersätta dem med ett värde som du behöver. Men ibland måste du använda många-till-många-ersättare samtidigt. Till exempel har jag en rad data, och nu vill jag ersätta alla äpplen till röda äpplen, apelsiner till gröna apelsiner, bananer till gula bananer och så vidare, som följande skärmdumpar visas, har du några bra idéer för att lösa denna uppgift i Excel?

Hitta och ersätt flera värden samtidigt med VBA-kod


pil blå höger bubbla Hitta och ersätt flera värden samtidigt med VBA-kod

Om du är trött på att hitta och ersätta värdena gång på gång kan följande VBA-kod hjälpa dig att ersätta flera värden med dina texter på en gång.

1. Skapa dina villkor som du vill använda som innehåller originalvärdena och de nya värdena. Se skärmdump:

doc flera hitta ersätt 2

2. Håll sedan ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.

3. Klicka Insert > Modulernaoch klistra in följande kod i modulfönstret.

VBA-kod: Hitta och ersätt flera värden samtidigt

Sub MultiFindNReplace()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, ReplaceRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Original Range ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In ReplaceRng.Columns(1).Cells
    InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value
Next
Application.ScreenUpdating = True
End Sub

4. Tryck sedan på F5 nyckel för att köra den här koden, i den utpekade rutan, ange det dataområde som du vill ersätta värdena med nya värden.

doc flera hitta ersätt 3

5. Klicka OK, och en annan snabbruta visas för att påminna dig om att välja de kriterier som du skapade i steg 1. Se skärmdump:

doc flera hitta ersätt 4

6. Klicka sedan OK, alla specifika värden har ersatts med de nya värdena som du behöver omedelbart.

doc flera hitta ersätt 5


Relaterade artiklar:

Hur hittar jag och ersätter specifik text i textrutor?

Hur hittar jag och ersätter text i diagramtitlar i Excel?

Hur hittar jag och ersätter text i kommentarer i Excel?

Hur ändrar jag flera hyperlänkvägar samtidigt i Excel?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2019 och 365. Stöder alla språk. Enkel distribution i ditt företag eller organisation. Fullständiga funktioner 30-dagars gratis provperiod. 60-dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50% och minskar hundratals musklick åt dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (129)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Det här fungerade inte för mig. Jag använder Excel 2010. Det uppmanade mig att ange det ursprungliga intervallet och det nya intervallet misslyckades sedan utan meddelanden. Inget ersattes. Jag kommer att fortsätta leta efter ett sätt att göra detta.
Denna kommentar minimerades av moderatoren på webbplatsen
Vänligen ignorera min senaste kommentar. Jag gjorde det fel. Det fungerade bra!
Denna kommentar minimerades av moderatoren på webbplatsen
[quote]Snälla bortse från min senaste kommentar. Jag gjorde det fel. Det fungerade bra!Av Ken Long[/quote] Det fungerar inte för mig. Hur gjorde du fel. Jag har noll kunskap om VBA.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag försökte använda detta makro för att översätta mätningar. Linje som ska översättas: Pärlor Mått Ungefär: 11/16 tum breda Ersättningsvärden: 1/32 0,794 mm 1/16 1,588 mm . . . 11/16 17,463 1 mm . . . 1/25,400 11,588 1 mm Resultatrad: Pärlor Mått Ungefär: 16 XNUMX mm tum bred är fel Problem: Koden använder värde från XNUMX/XNUMX och ersätter det Hur kan jag fixa detta? (Om jag använder LookAt:=xlWhole i ett annat makro får jag inget resultat)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Tack Kan jag göra det skiftlägeskänsligt?
Denna kommentar minimerades av moderatoren på webbplatsen
OMG, jag ser Jesus här!!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag har försökt att använda den här koden för att ersätta flera nummer med motsvarande text. Jag har en stor datamängd som sträcker sig från 1 -> 112000, men när jag försöker konvertera 1 till dess motsvarande strängvärde (t.ex. Apple), kommer det att översätta detta till varenda numerisk 1 i kolumnen. Därför kommer 112000 att matas ut som AppleAppleOrange000. Finns det något sätt i den här Kutools-processen, som verktyget hitta/ersätt i excel, för att hitta/ersätta specifika matchningsfall?
Denna kommentar minimerades av moderatoren på webbplatsen
Du måste lägga till följande parameter: MatchCase:=True Så lägg till den till exempel på raden nedan: InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value, MatchCase:= Sant Detta kommer endast att hitta och ersätta objekt som MatchCase i det intervall du har valt.
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du skriva om koden för att se till att vi fick rätt?
Denna kommentar minimerades av moderatoren på webbplatsen
Det fungerade inte för mig, hjälp med att skriva om koden, tack
Denna kommentar minimerades av moderatoren på webbplatsen
finns det ett sätt att förinställa det ursprungliga intervallet till 'Tab1'!$4:$42
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerade som en smäck! Tack för koden och detaljerade instruktioner... Du har räddat mina två dagar...Gud välsigne!!
Denna kommentar minimerades av moderatoren på webbplatsen
ORIGINALFORMAT: 1 i ID X 2-1/2 i OD X 40 i längd 1 i ID X 2-1/2 i OD X 10 i längd 1 i ID X 2-1/2 i OD X 20 i längd 1 tum ID X 2-1/2 i OD X 10 i Längd 9-1/2 i ID X 14 i OD X 12 i Längd KRÄVLIGT FORMAT: ID 1 x OD 2-1/2 x LG 40 IN ID 1 x OD 2- 1/2 x LG 10 IN ID 1 x OD 2-1/2 x LG 20 IN ID 1 x OD 2-1/2 x LG 10 IN ID 9-1/2 x OD 14 x LG 12 I SNÄLLA BERÄTTA FORMULÄR DET givna exemplet, HUR MAN ERSÄTTER DET ORIGINALFORMATET TILL OBLIGATORISKT FORMAT I EXCEL
Denna kommentar minimerades av moderatoren på webbplatsen
Tack det hjälpte mig
Denna kommentar minimerades av moderatoren på webbplatsen
Makrot fungerar inte för exakt matchning. Som att det finns två kategorier ABC och ABC 2. Hitta och ersätt ABC med RRR och ABC 2 med TTT så att Makro ändrar ABC 2 till RRR 2 istället för TTT.
Denna kommentar minimerades av moderatoren på webbplatsen
Byt först ut ABC 2 mot TTT och sedan ABC mot RRR
Denna kommentar minimerades av moderatoren på webbplatsen
Under "Originalområde" visar du $A$2:$A$10, vilket tyder på att det är inom ett enda ark. Hur kan jag välja hela arbetsboken här?
Denna kommentar minimerades av moderatoren på webbplatsen
Wow!!! Tack så mycket! Fungerade som en pärla.
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerar som charm! Tack så mycket :D (Y)
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde ovanstående kod för att ersätta siffror men både 11 och 1 byts ut.
Denna kommentar minimerades av moderatoren på webbplatsen
Sub MultiFindNReplace() 'Uppdatera 20140722 Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "KutoolsforExcel" Set InputRng = Application.Selection Set InputRng = Application.InputBox("Original Range ", xTitleId, Input, Typ:Rng.Address, Type: =8) Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8) Application.ScreenUpdating = False för varje Rng i ReplaceRng.Columns(1).Cells InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value, lookat:=xlwhole Next Application.ScreenUpdating = True End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Ja!! Tack för den här koden, den fungerade som en smäck
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerar inte heller när man försöker ersätta en kolumn med numeriska värden med andra numeriska värden från pivottabellen. Detta är vad jag får för att försöka göra enkla att automatisera saker i Excel-kalkylark.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack. Den fungerar utmärkt.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem där om 2 namn är lika, som om jag vill ersätta TEACHER med 1 och TEACHER ASSIST med 2, skulle det ersätta TEACHER med 1 och TEACHER ASSIST med 1 ASSIST. Hur skulle jag få det att ersätta den EXAKTA frasen?
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket. Det var ganska användbart och räddade mig 1 timmes arbete
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har två kolumner, 1:a kolumnen är lista på nummer 1,2,3... 22,23,... Andra kolumnen med lista över strängar. Istället för att ersätta värdet på 12 med strängvärde. Den ersätter den med strängar från 1 och 2. Någon som vet hur man sorterar detta?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har 3 kolumner enligt nedan, 1 Multimeter 2 Testlampa 3 Ohm Meter 4 Resistance Tester 5 Fault Loop 12 RCD Tester 24 Portable RCD 13 Extension Lead Tredje kolumnen har nummer 1,2...50. Det finns cirka 36000 12 rader. Den ersätter 1 med värden från rad 2 och 12 istället för XNUMX. Någon som vet hur man fixar det?
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0  Tecken
Föreslagna platser