Note: The other languages of the website are Google-translated. Back to English
Vpiši se  \/ 
x
or
x
Registracija  \/ 
x

or

Kako najti in zamenjati besedilo v naslovih grafikonov v Excelu?

Grafikoni so za nas v Excelu zelo koristni in jim pogosto damo nekaj naslovov za njihovo prepoznavanje. Ali ste že poskušali najti in nadomestiti besedilno vrednost v naslovih grafikonov znotraj več grafikonov? Danes bom govoril o tem, kako najti določeno besedilo v več ploščicah grafikonov in jih nadomestiti z drugo vrednostjo v Excelu.

Poiščite in zamenjajte besedilo v naslovih grafikonov v Excelu s kodo VBA

Kartica Office Omogočite urejanje in brskanje z zavihki v storitvi Office ter olajšajte svoje delo ...
Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%
  • Ponovno uporabi vse: Med priljubljene dodajte najbolj uporabljene ali zapletene formule, grafikone in kar koli drugega ter jih v prihodnosti hitro ponovno uporabite.
  • Več kot 20 besedilnih funkcij: Izvleček številke iz besedilnega niza; Izvleči ali odstrani del besedil; Pretvorite številke in valute v angleške besede.
  • Združi orodja: Več delovnih zvezkov in listov v eno; Združi več celic / vrstic / stolpcev brez izgube podatkov; Združi podvojene vrstice in vsoto.
  • Razdeljena orodja: Razdeli podatke na več listov na podlagi vrednosti; En delovni zvezek v več datotek Excel, PDF ali CSV; En stolpec na več stolpcev.
  • Prilepi preskoči Skrite / filtrirane vrstice; Štetje in vsota glede na Barva ozadja; V večjem obsegu pošiljajte osebna e-poštna sporočila več prejemnikom.
  • Super filter: Ustvarite napredne filtrirne sheme in uporabite za vse liste; Razvrščanje po tednih, dnevih, pogostosti in še več; filter s krepkim tiskom, formule, komentar ...
  • Več kot 300 zmogljivih funkcij; Deluje s sistemoma Office 2007-2019 in 365; Podpira vse jezike; Preprosta namestitev v vašem podjetju ali organizaciji.

puščica modri desni mehurček Poiščite in zamenjajte besedilo v naslovih grafikonov v Excelu s kodo VBA


Recimo, da imate delovni list, ki vsebuje grafikone, kot je prikazano na sliki spodaj, in želite besedilo januar do februarja nadomestiti samo z vsemi naslovi grafikonov. Seveda jih lahko ročno spreminjate enega za drugim, vendar bo to zamudno, če obstaja več grafikonov. Torej, naslednja koda VBA vam lahko pomaga pri reševanju te naloge. </ P>

doc-replace-chart-title1

1. Aktivirajte svoj delovni list, ki vsebuje karte, ki jih želite najti in zamenjati v njihovih naslovih.

2. Držite tipko ALT + F11 in odpre tipko Okno Microsoft Visual Basic for Applications.

3. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: poiščite in zamenjajte besedilo v naslovih grafikonov na aktivnem delovnem 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. Nato pritisnite F5 tipko za zagon te kode in pojavilo se bo pozivno polje, ki vas bo opozorilo na vnos starega besedila, ki ga želite zamenjati, glejte posnetek zaslona:

doc-replace-chart-title1

5. In nato kliknite OK in prikaže se novo pozivno polje, vnesite novo besedilno vrednost, ki jo želite zamenjati, glejte posnetek zaslona:

doc-replace-chart-title1

6. Pojdi na klik OK , da zaprete polje za poziv, in so vaša stara besedila na trenutnem delovnem listu hkrati zamenjala novice, kot je prikazano na sliki spodaj:

doc-replace-chart-title1

Opombe: Če morate najti in nadomestiti besedilno vrednost naslovov grafikonov na vseh delovnih listih v delovnem zvezku, uporabite naslednjo kodo VBA: (Postopek je enak zgornjemu)

Koda VBA: poiščite in zamenjajte besedilo v naslovih grafikonov na vseh delovnih listih

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

Sorodni članki:

Kako najti in nadomestiti besedilo v komentarjih v Excelu?

Kako najti in zamenjati določeno besedilo v več besedilnih poljih programa Excel?

Kako spremeniti več poti hiperpovezav hkrati v Excelu?


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize

 

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.
    Jonathon · 5 days ago
    Just want to say thanks for this. Saved me hours of time.
  • 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)?