Note: The other languages of the website are Google-translated. Back to English
Log på  \/ 
x
or
x
Tilmeld  \/ 
x

or

Hvordan finder og erstatter jeg tekst i diagramtitler i Excel?

Diagrammer er meget nyttige for os i Excel, og vi giver dem ofte nogle titler til identifikation af dem. Men har du forsøgt at finde og erstatte tekstværdien i diagramtitler inden for flere diagrammer? I dag vil jeg tale om, hvordan man finder en bestemt tekst i flere diagramfliser og erstatter dem med en anden værdi i Excel.

Find og erstat tekst i diagramtitler i Excel med VBA-kode

Fanen Office Aktiver redigering og browsing med faner i Office, og gør dit arbejde meget lettere ...
Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%
  • Genbrug alt: Tilføj de mest anvendte eller komplekse formler, diagrammer og alt andet til dine favoritter, og genbrug dem hurtigt i fremtiden.
  • Mere end 20 tekstfunktioner: Uddrag nummer fra tekststreng; Uddrag eller fjern en del af teksterne; Konverter tal og valutaer til engelske ord.
  • Flet værktøjer: Flere arbejdsbøger og ark til én; Flet flere celler / rækker / kolonner uden at miste data; Flet duplikatrækker og sum.
  • Opdel værktøjer: Opdel data i flere ark baseret på værdi; Én projektmappe til flere Excel-, PDF- eller CSV-filer; En kolonne til flere kolonner.
  • Indsæt spring Skjulte / filtrerede rækker; Tæl og sum af baggrundsfarve; Send personaliserede e-mails til flere modtagere i bulk.
  • Superfilter: Opret avancerede filterskemaer og anvend dem på alle ark; Sort efter uge, dag, hyppighed og mere; filtre med fed, formler, kommentar ...
  • Mere end 300 kraftfulde funktioner; Arbejder med Office 2007-2019 og 365; Understøtter alle sprog Nem implementering i din virksomhed eller organisation.

pil blå højre boble Find og erstat tekst i diagramtitler i Excel med VBA-kode


Antag, at du har et regneark, der indeholder diagrammerne som vist på nedenstående skærmbillede, og at du kun vil erstatte teksten januar inden februar inden for alle korttitlerne. Selvfølgelig kan du ændre dem manuelt en efter en, men det vil være tidskrævende, hvis der er flere diagrammer. Så her kan følgende VBA-kode hjælpe dig med at håndtere denne opgave. </ P>

doc-erstat-kort-titler1

1. Aktivér dit regneark, der indeholder de diagrammer, du vil finde og erstatte i deres titler.

2. Hold nede ALT + F11 tasterne, og det åbner Vinduet Microsoft Visual Basic til applikationer.

3. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.

VBA-kode: Find og erstat tekst i diagramtitler i det aktive regneark

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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at indtaste din gamle tekst, som du vil erstatte, se skærmbillede:

doc-erstat-kort-titler1

5. Og klik derefter på OK knap, og en anden hurtigboks dukker op, skal du skrive din nye tekstværdi, som du vil erstatte den gamle, se skærmbillede:

doc-erstat-kort-titler1

6. Fortsæt med at klikke OK for at lukke promptboksen, og dine gamle tekster er blevet erstattet af nyheden på én gang i det aktuelle regneark som følgende skærmbillede vist:

doc-erstat-kort-titler1

Bemærk: Hvis du har brug for at finde og erstatte tekstværdien af ​​diagramtitler i alle regnearkene i en projektmappe, skal du anvende følgende VBA-kode: (Proceduren er den samme som ovenfor)

VBA-kode: Find og erstat tekst i diagramtitler inden for alle regneark

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

Relaterede artikler:

Hvordan finder og erstatter jeg tekst i kommentarer i Excel?

Hvordan finder jeg og erstatter specifik tekst i flere tekstfelter i Excel?

Hvordan ændres flere hyperlinkstier på én gang i Excel?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super Formula Bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2019 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60-dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50% og reducerer hundredvis af museklik for dig hver dag!
officetab bund

 

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 · 5 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)?