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

Jak najít a nahradit text a poté zachovat formátování v aplikaci Excel?

doc najít nahradit zachovat formát 1
doc najít nahradit zachovat formát 2
Funkce Najít a nahradit je účinná a užitečná, když potřebujeme najít konkrétní hodnotu a nahradit ji jinou. Pokud však existuje řada buněk a některé buňky obsahují různé hodnoty formátování. V tomto případě, pokud chcete najít a nahradit hodnotu funkcí Najít a nahradit, rozbije se formátování hodnot v buňkách, jak je ukázáno níže, jak můžeme zachovat formátování hodnot v každé buňce při hledání a nahrazování v aplikaci Excel?

Najděte a nahraďte zachování formátování kódem makra

šipka modrá pravá bublina Najděte a nahraďte zachování formátování kódem makra

Neexistují žádné jiné metody, ale kód makra vám může pomoci najít a nahradit text a zachovat formátování.

1. lis Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikaci okno.

2. cvaknutí Vložit > Modula vložte níže uvedený kód do skriptu.

VBA: Najít a nahradit zachovat formátování

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 najít nahradit zachovat formát 5

3. lis F5 klíč, objeví se dialogové okno pro výběr rozsahu, který chcete najít a nahradit, viz screenshot:
doc najít nahradit zachovat formát 6

4. Klepněte na OK a konkrétní řetězec ve vybrané buňce se nahradí jiným a zachová formátování.
doc najít nahradit zachovat formát 4

Tip: V kódu,  KK je řetězec, který chcete najít, a Kutools je řetězec, který chcete nahradit, můžete je podle potřeby změnit.


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (5)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Zkoušel jsem vaše řešení na buňce, která je delší než 255 znaků a nic se nemění. Existuje pro tento případ řešení?
Tento komentář byl moderátorem webu minimalizován
Dostávám chybu syntaxe ve VBA
Tento komentář byl moderátorem webu minimalizován
Stejná otázka jako John Birk, potřebuji řešení s buňkami, které mají více než 255 znaků.
Tento komentář byl moderátorem webu minimalizován
Metoda funguje pouze u znaků kratších než 255 číslic.
Tento komentář byl moderátorem webu minimalizován
Můžete objasnit, zda existuje řešení, které funguje v buňkách s více než 255 znaky, nebo se jedná o omezení aplikace Excel? Podporuje váš doplněk buňky s více než 255 znaky, které obsahují formátování?
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění