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

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

doc hitta ersätt bevara format 1
doc hitta ersätt bevara format 2
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

 

doc hitta ersätt bevara format 5

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:
doc hitta ersätt bevara format 6

4. Klicka på OK och den specifika strängen i den valda cellen ersätts med annan och behåller formateringen.
doc hitta ersätt bevara format 4

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.


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-2021 och 365. Stöder alla språk. Enkel implementering 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 för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (5)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försökte din lösning på en cell som är över 255 tecken lång och ingenting förändras. Finns det en lösning för det här fallet?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag får syntaxfel i VBA
Denna kommentar minimerades av moderatoren på webbplatsen
Samma fråga som John Birk jag behöver en lösning med celler som har mer än 255 tecken.
Denna kommentar minimerades av moderatoren på webbplatsen
Metoden fungerar bara när tecken är mindre än 255 siffror.
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du klargöra om det finns en lösning som fungerar i celler med fler än 255 tecken, eller är detta en begränsning av Excel? Stöder ditt tillägg celler med mer än 255 tecken som innehåller formatering?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL