Přejít k hlavnímu obsahu

Jak najít a nahradit text v nadpisech grafů v aplikaci Excel?

Grafy jsou pro nás v aplikaci Excel velmi užitečné a často jim dáváme názvy, abychom je mohli identifikovat. Ale pokusili jste se najít a nahradit textovou hodnotu v nadpisech grafů ve více grafech? Dnes budu mluvit o tom, jak najít konkrétní text v několika dlaždicích grafu a nahradit je jinou hodnotou v aplikaci Excel.

Najděte a nahraďte text v nadpisech grafů v aplikaci Excel kódem VBA


šipka modrá pravá bublina Najděte a nahraďte text v nadpisech grafů v aplikaci Excel kódem VBA

Předpokládejme, že máte list, který obsahuje grafy, jak ukazuje následující snímek obrazovky, a chcete nahradit text Leden do února pouze ve všech názvech grafů. Samozřejmě je můžete měnit jeden po druhém, ale to bude časově náročné, pokud existuje více grafů. Následující kód VBA vám tedy může pomoci při řešení tohoto úkolu. </ P>

doc-replace-chart-tituly1

1. Aktivujte pracovní list, který obsahuje grafy, které chcete v jejich názvech najít a nahradit.

2. Podržte ALT + F11 klíče a otevře se Okno Microsoft Visual Basic pro aplikace.

3, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: Najít a nahradit text v názvech grafů v aktivním listu

Sub ChartLabelReplace()
'Update 20140603
Dim xWs As Worksheet
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
Set xWs = Application.ActiveSheet
For Each ch In xWs.ChartObjects
    If ch.Chart.HasTitle Then
        ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
    End If
Next
End Sub

4. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a vyskočí okno s výzvou, které vám připomene zadání starého textu, který chcete nahradit, viz screenshot:

doc-replace-chart-tituly1

5. A pak klikněte na tlačítko OK Tlačítko a objeví se další okno s výzvou, musíte zadat novou textovou hodnotu, kterou chcete nahradit starou, viz screenshot:

doc-replace-chart-tituly1

6. Pokračujte kliknutím OK zavřete pole s výzvou a vaše staré texty byly v aktuálním listu nahrazeny novinkami najednou, jak ukazuje následující snímek obrazovky:

doc-replace-chart-tituly1

Poznámka: Pokud potřebujete najít a nahradit textovou hodnotu nadpisů grafů ve všech listech v sešitu, měli byste použít následující kód VBA: (Postup je stejný jako výše)

Kód VBA: Najděte a nahraďte text v nadpisech grafů ve všech pracovních listech

Sub ChartLabelReplaceAllWorksheet()
'Update 20140603
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
For Each sh In Worksheets
    For Each ch In sh.ChartObjects
        If ch.Chart.HasTitle Then
            ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
        End If
    Next
Next
End Sub

Související články:

Jak najít a nahradit text v komentářích v aplikaci Excel?

Jak najít a nahradit konkrétní text ve více textových polích aplikace Excel?

Jak změnit více cest hypertextových odkazů v aplikaci Excel?

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


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 snižuje stovky kliknutí myší každý den!

 

Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Just want to say thanks for this. Saved me hours of time.
This comment was minimized by the moderator on the site
I want to do this for text in the legend and axis labels as well. What's the VBA name for the Legend? I tried to edit the module by replacing "ChartTitle" with "Legend" "LegendEntry" "ChartLegend" none work.
This comment was minimized by the moderator on the site
Some of my chart titles contain multiple font sizes. When I run the macro above, it converts all of the fonts to the same size and I have to go back through and manually re-size them. Is there a way to modify the VBA code so that it maintains the original font sizes? (I'm still a VBA newb, so any help would be appreciated!)
This comment was minimized by the moderator on the site
Thank you!!! It helped me so much!!!
This comment was minimized by the moderator on the site
This one works for me, because otherwise the variables are not declared : Sub ChartLabelReplace() 'Update 20141017 Dim xFindStr As String Dim xReplace As String Dim ws As Worksheet Dim ch As ChartObject xFindStr = InputBox("Find:") xReplace = InputBox("Replace:") For Each ws In Worksheets For Each ch In ws.ChartObjects If ch.Chart.HasTitle Then ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1) End If Next Next End Sub
This comment was minimized by the moderator on the site
How does one change the VBA macro to only apply the change to selected charts (and not all the charts on the worksheet)?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations