Salt la conținutul principal

Cum să găsiți și să înlocuiți textul, apoi să păstrați formatarea în Excel?

doc găsiți înlocuiți formatul de conservare 1
doc găsiți înlocuiți formatul de conservare 2
Funcția Găsire și înlocuire este puternică și utilă atunci când trebuie să găsim o anumită valoare și să o înlocuim cu alta. Dar dacă există o gamă de celule, iar unele dintre celule includ valori de formatare diferite. În acest caz, pentru a găsi și a înlocui valoarea prin funcția Găsiți și înlocuiți, se va rupe formatarea valorilor din celule, după cum se arată mai jos, cum putem păstra formatarea valorilor în fiecare celulă în timp ce găsim și înlocuim în Excel?

Găsiți și înlocuiți conservarea formatării cu codul Macro

săgeată albastru dreapta balon Găsiți și înlocuiți conservarea formatării cu codul Macro

Nu există alte metode, dar codul macro vă poate ajuta să găsiți și să înlocuiți textul și să păstrați formatarea.

1. presa Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicație fereastră.

2. clic Insera > Moduleși lipiți codul de mai jos în script.

VBA: Găsiți și înlocuiți conservarea formatării

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 găsiți înlocuiți formatul de conservare 5

3. presa F5 , apare o fereastră de dialog pentru a selecta un interval de găsit și înlocuit, vezi captura de ecran:
doc găsiți înlocuiți formatul de conservare 6

4. Faceți clic pe OK, iar șirul specific din celula selectată se înlocuiește cu altul și păstrează formatarea.
doc găsiți înlocuiți formatul de conservare 4

varful: În cod,  KK este șirul pe care doriți să îl găsiți și Kutools este șirul cu care doriți să înlocuiți, le puteți schimba după cum aveți nevoie.

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (6)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Thanks, it has worked wonders for me. I needed to replace a colon with a newline character, but all the text before the colon should stay bold caption, where the rest of it should be left in regular. It has worked and abridged my work today.
Though I didn't try with cells with more than 255 characters, as it seems to be an issue with other people commenting.
Rated 5 out of 5
This comment was minimized by the moderator on the site
Can you clarify if there is a solution that works in cells with more than 255 characters, or is this a limitation of Excel? Does your add-in support cells with more than 255 characters that contain formatting?
This comment was minimized by the moderator on the site
Same Question as John Birk i need a workaround with Cells that have more then 255 signs.
This comment was minimized by the moderator on the site
The method only work while characters less than 255 digits.
This comment was minimized by the moderator on the site
I am getting syntax error in VBA
This comment was minimized by the moderator on the site
I tried your solution on a cell that is over 255 characters long and nothing changes. Is there a workaround for this case?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations