Hoppa till huvudinnehåll

Hur kan jag hitta och ersätta text och sedan bevara formatering i Excel?

Författare: Sun Senast ändrad: 2024-11-07
En skärmdump som visar Excel-celler med partiella formateringsändringar efter att hitta och ersätta
En skärmdump som visar önskat resultat där formateringen bevaras i Excel-celler
Find and Replace-funktionen är kraftfull och användbar när vi behöver hitta ett specifikt värde och ersätta det med ett annat. Men om det finns en rad celler, och vissa av cellerna innehåller olika formateringsvärden. I det här fallet, för att hitta och ersätta värde med funktionen Sök och ersätt, kommer formateringen av värdena i celler att brytas enligt nedanstående skärmdump, hur kan vi bevara formateringen av värden i varje cell medan vi hittar och ersätter i Excel?

Hitta och ersätt bevara formatering med makrokod

pil blå höger bubbla Hitta och ersätt bevara formatering med makrokod

Det finns inga andra metoder men makrokod kan hjälpa dig att hitta och ersätta text och bevara formatering.

1. Tryck Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikation fönster.

2. klick Insert > Modulernaoch klistra in under koden i skriptet.

VBA: Hitta och ersätt bevara formatering

Sub CharactersReplace(Rng As Range, FindText As String, ReplaceText As String, Optional MatchCase As Boolean = False)
  'UpdatebyExtendoffice20160711
    Dim I As Long
    Dim xLenFind As Long
    Dim xLenRep As Long
    Dim K As Long
    Dim xValue As String
    Dim M As Long
    Dim xCell As Range
    xLenFind = Len(FindText)
    xLenRep = Len(ReplaceText)
    If Not MatchCase Then M = 1
    For Each xCell In Rng
        If VarType(xCell) = vbString Then
            xValue = xCell.Value
            K = 0
            For I = 1 To Len(xValue)
              If StrComp(Mid$(xValue, I, xLenFind), FindText, M) = 0 Then
                xCell.Characters(I + K, xLenFind).Insert ReplaceText
                K = K + xLenRep - xLenFind
              End If
            Next
        End If
    Next
End Sub

Sub Test_CharactersReplace()
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Call CharactersReplace(xRg, "KK", "Kutools", True)
End Sub

En skärmdump av VBA-modulfönstret med kod för att hitta och ersätta

Tips: I koden,  KK är strängen du vill hitta och Kutools är strängen du vill ersätta med, kan du ändra dem efter behov.

3. Tryck F5 nyckel, en dialogruta dyker upp för dig att välja ett område att hitta och ersätta, se skärmdump:
En skärmdump som visar inmatningsrutan för val av intervall

4. Klicka på OK och den specifika strängen i den valda cellen ersätts med annan och behåller formateringen.
En skärmdump av celler efter att hitta och ersätta, med bevarad formatering

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...


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 för dig varje dag!