Byt ut tecken i Excel med makro

Det går att använda Excels inbyggda verktyg för att söka och ersätta tecken. Men om det är många olika tecken som ska ersättas blir det ett extra arbete. I detta exempel ska jag visa hur vi kan lösa detta med ett makro. Makrot är gjort så att vi behöver en uppslagstabell för alla tecken som ska byta ut. Tänk på att en Excelfil med makro måste sparas som en makroaktiverad Excelfil för att kunna använda makrot i filen.

Hämta den färdig exempelfilen här.

Byt ut tecken med makro

I det första exemplet har vi en namnlista där namnet innehåller å, ä ö med stora och små bokstäver. Vi behöver ersätta dessa bokstäver med a, a, o (stora och små). Det ger oss 6 olika kombinationer att söka och ersätta.

Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-kurser i Excel & Office-paketet

En bild som visar text, Teckensnitt, skärmbild, linje Automatiskt genererad beskrivning

Förutsättningarna för detta makro är att vi också har en uppslagstabell färdig på kalkylbladet.

En bild som visar text, skärmbild, Teckensnitt, nummer Automatiskt genererad beskrivning

Första kolumnen med bokstäver som finns och nästa kolumn vilka bokstäver de ska ersättas med. Observera att vi gör skillnad på stora och små bokstäver.

Skapa makro

För att komma åt VBA-fönstret, se till att aktivera menyfliken Utvecklare [Developer].

  • Klicka på Arkiv [File], Sedan välj Alternativ [Options]. I dialogrutan klicka sedan på valet Anpassa menyfliksområdet [Customize Ribbon], bocka i valet Utvecklare [Developer]. Klicka OK.En bild som visar text, skärmbild, programvara, nummer Automatiskt genererad beskrivning

När menyfliken Utvecklare är tillgänglig så klickar du sedan på knappen Visual Basic för att komma till VBA-fönstret.

En bild som visar text, Teckensnitt, linje, nummer Automatiskt genererad beskrivning

I VBA-fönstret, klicka på Infoga [Insert] och sedan Modul [Module]. Ett tomt fönster öppnas, klistra in koden nedan i fönstret och stäng hela VBA-fönstret för att återgå till kalkylbladet.

Sub Replace()

Dim Rng As Range, SourceRng As Range, ReplaceRng As Range

On Error Resume Next

Set SourceRng = Application.InputBox("Källdata:", "Bulk Replace", Application.Selection.Address, Type:=8)

Err.Clear

If Not SourceRng Is Nothing Then

Set ReplaceRng = Application.InputBox("Ersättningstabell:", "Bulk Replace", Type:=8)

Err.Clear

If Not ReplaceRng Is Nothing Then

Application.ScreenUpdating = False

For Each Rng In ReplaceRng.Columns(1).Cells

SourceRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value, MatchCase:=True

Next

Application.ScreenUpdating = True

End If

End If

End Sub

 

Spara din Excelfil som en makroaktiverad Excelfil (.xlsm). Nu är det klart att kunna använda makrot.

Kör makrot

I detta läge är inte makrot kopplat till ett kortkommando eller en knapp, vi får köra i gång det manuellt. På menyfliken Utvecklare [Developer] klicka på knappen Makron [Macros]. En dialogruta öppnas med vårt makro synligt. Markera makrot och klicka på Kör [Run].

En bild som visar text, skärmbild, skärm, programvara Automatiskt genererad beskrivning

  1. I första dialogrutan ska du ange hela området som ska ändras (Källdata). Klicka OK.En bild som visar text, skärmbild, Teckensnitt, nummer Automatiskt genererad beskrivning
  2. I nästa dialogruta ska du markera uppslagstabellen (Ersättningstabell). Klicka OK.En bild som visar text, skärmbild, nummer, Teckensnitt Automatiskt genererad beskrivning
  3. Ersättningarna utförs. Önskade tecken är nu ersatta.En bild som visar text, Teckensnitt, skärmbild, nummer Automatiskt genererad beskrivning

Tänk på att när man kör ett makro i Excel så går det inte att ångra.

Byt ut tecken åt andra hållet

Om du får en text till Excel som innehåller massa konstiga tecken för exempelvis å, ä, ö så kan det vara problematiskt att på traditionellt sätt rätta till detta. Men med makrot vi skapat i detta tips blir det mycket enklare. Det vi på förhand måste göra är en egen uppslagstabell för att identifiera vilka tecken som ska ersättas. Nedan ser du ett exempel på en namnlista med konstiga tecken som vi ska rätta till.

En bild som visar text, Teckensnitt, skärmbild, nummer Automatiskt genererad beskrivning

Med lite detektivarbete så har jag skapat en uppslagstabell:

En bild som visar text, skärmbild, Teckensnitt, nummer Automatiskt genererad beskrivning

I uppslagstabellen ser vi även att é (e med akut accent) är med för att även få rätt på det tecknet.

Sedan är det bara att köra makrot.

  1. Markera hela området med felaktiga tecken. Klicka OK.
  2. Markera uppslagstabellen. Klicka OK.
  3. Nu har du rättat till alla tecken och namnen är läsbara.

En bild som visar text, Teckensnitt, skärmbild, nummer Automatiskt genererad beskrivning

Läs mer om våra självstudiekurser på www.officekurs.se.

Du gillar kanske också...

Börja prenumerera idag!

Ta del av tips & tricks i Excel och Office en gång i månaden helt kostnadsfritt.

Grattis! Du kommer nu att få Excelbrevet varje månad helt gratis.