Przejdź do głównej zawartości

Jak znaleźć i zamienić tekst w tytułach wykresów w programie Excel?

Wykresy są dla nas bardzo przydatne w programie Excel i często nadajemy im tytuły do ​​ich identyfikacji. Ale czy próbowałeś znaleźć i zamienić wartość tekstową w tytułach wykresów na wielu wykresach? Dzisiaj opowiem o tym, jak znaleźć określony tekst w wielu kafelkach wykresów i zastąpić je inną wartością w programie Excel.

Znajdź i zamień tekst w tytułach wykresów w programie Excel za pomocą kodu VBA


strzałka niebieski prawy bąbelek Znajdź i zamień tekst w tytułach wykresów w programie Excel za pomocą kodu VBA

Przypuśćmy, że masz arkusz roboczy zawierający wykresy pokazane na poniższym zrzucie ekranu i chcesz zamienić tekst styczeń na luty tylko we wszystkich tytułach wykresów. Oczywiście możesz je zmieniać ręcznie, jeden po drugim, ale będzie to czasochłonne, jeśli istnieje wiele wykresów. Dlatego poniższy kod VBA może pomóc w rozwiązaniu tego zadania. </ P>

tytuły-wykresów-dokumentów1

1. Aktywuj arkusz roboczy zawierający wykresy, które chcesz znaleźć i zamienić w ich tytułach.

2. Przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

3. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: znajdź i zamień tekst w tytułach wykresów w aktywnym arkuszu

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. Następnie naciśnij F5 klawisz, aby uruchomić ten kod, a pojawi się okno zachęty przypominające o wprowadzeniu starego tekstu, który chcesz zastąpić, patrz zrzut ekranu:

tytuły-wykresów-dokumentów1

5. A następnie kliknij OK i pojawi się kolejne okno zachęty, musisz wpisać nową wartość tekstową, którą chcesz zastąpić starą, patrz zrzut ekranu:

tytuły-wykresów-dokumentów1

6. Kliknij dalej OK aby zamknąć okno zachęty, a twoje stare teksty zostały zastąpione przez wiadomości w bieżącym arkuszu, jak pokazano na poniższym zrzucie ekranu:

tytuły-wykresów-dokumentów1

Note: Jeśli chcesz znaleźć i zamienić wartość tekstową tytułów wykresów we wszystkich arkuszach w skoroszycie, powinieneś zastosować następujący kod VBA: (Procedura jest taka sama jak powyżej)

Kod VBA: znajdź i zamień tekst w tytułach wykresów we wszystkich arkuszach roboczych

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

Podobne artykuły:

Jak znaleźć i zamienić tekst w komentarzach w programie Excel?

Jak znaleźć i zamienić określony tekst w wielu polach tekstowych programu Excel?

Jak zmienić wiele ścieżek hiperłączy jednocześnie w programie Excel?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!

 

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