Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

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

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtr pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Działa z Office 2007-2019 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

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>

doc-replace-chart-titles1

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:

doc-replace-chart-titles1

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:

doc-replace-chart-titles1

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:

doc-replace-chart-titles1

Uwagi: 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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
kte tab 201905

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ęć myszą każdego dnia!
officetab dół

 

Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tony D · 4 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Drew · 4 years ago
    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!)
  • To post as a guest, your comment is unpublished.
    Natty · 5 years ago
    Thank you!!! It helped me so much!!!
  • To post as a guest, your comment is unpublished.
    SJ · 6 years ago
    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
    • To post as a guest, your comment is unpublished.
      CB · 4 years ago
      How does one change the VBA macro to only apply the change to selected charts (and not all the charts on the worksheet)?