Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Connetti
x
or
x
x
Registratevi
x

or

Come trovare e sostituire il testo nei titoli dei grafici in Excel?

I grafici sono molto utili per noi in Excel e spesso assegniamo loro alcuni titoli per identificarli. Ma hai provato a trovare e sostituire il valore del testo nei titoli dei grafici all'interno di più grafici? Oggi parlerò di come trovare un testo specifico in più riquadri del grafico e sostituirli con altri valori in Excel.

Trova e sostituisci il testo nei titoli dei grafici in Excel con il codice VBA

Scheda Office Abilita la modifica e la navigazione a schede in Office e semplifica notevolmente il tuo lavoro ...
Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%
  • Riutilizzare qualsiasi cosa: Aggiungi le formule più utilizzate o complesse, i grafici e qualsiasi altra cosa ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più delle funzioni di testo di 20: Estrai numero da stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi ...
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma ...
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro per più file Excel, PDF o CSV; Una colonna a più colonne ...
  • Incolla Saltare Righe nascoste / filtrate; Conte E Somma per colore di sfondo; Crea una mailing list e Invia e-mail in base al valore della cella...
  • Super filtro: Crea schemi di filtro avanzati e applica a tutti i fogli; Ordinare per settimana, giorno, frequenza e altro; Filtro da grassetto, formule, commento ...
  • Oltre alle potenti funzionalità di 300; Funziona con Office 2007-2019 e 365; Supporta tutte le lingue; Facile implementazione nella tua azienda o organizzazione.

freccia blu bolla destra Trova e sostituisci il testo nei titoli dei grafici in Excel con il codice VBA


Supponendo di avere un foglio di lavoro che contiene i grafici come mostrato nella figura seguente, e si desidera sostituire il testo da gennaio a febbraio solo con tutti i titoli del grafico. Ovviamente, è possibile modificarli manualmente uno per uno, ma ciò richiederà molto tempo se ci sono più grafici. Quindi, qui il seguente codice VBA può aiutarti a gestire questa attività. </ P>

doc-sostituire-chart-titles1

1. Attiva il tuo foglio di lavoro che contiene i grafici che vuoi trovare e sostituire nei loro titoli.

2. Tenere premuto il tasto ALT + F11 chiavi, e apre il Finestra di Microsoft Visual Basic per applicazioni.

3. Clic inserire > Moduloe incollare il seguente codice nel Finestra del modulo.

Codice VBA: trova e sostituisce il testo nei titoli dei grafici all'interno del foglio di lavoro attivo

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. Quindi premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di dialogo per ricordarti di inserire il vecchio testo che desideri sostituire, vedi screenshot:

doc-sostituire-chart-titles1

5. E poi clicca OK pulsante, e viene visualizzata un'altra finestra di prompt, è necessario digitare il nuovo valore di testo che si desidera sostituire quello precedente, vedere screenshot:

doc-sostituire-chart-titles1

6. Vai a fare clic OK per chiudere la finestra di prompt, e i tuoi vecchi testi sono stati sostituiti dalle notizie in una volta nel foglio di lavoro corrente come mostrato nella seguente schermata:

doc-sostituire-chart-titles1

Note: Se è necessario trovare e sostituire il valore di testo dei titoli dei grafici in tutti i fogli di lavoro di una cartella di lavoro, è necessario applicare il seguente codice VBA: (La procedura è la stessa di cui sopra)

Codice VBA: trova e sostituisce il testo nei titoli dei grafici all'interno di tutti i fogli di lavoro

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

Articoli correlati:

Come trovare e sostituire il testo all'interno dei commenti in Excel?

Come trovare e sostituire un testo specifico in più caselle di testo di Excel?

Come modificare più percorsi di collegamento ipertestuale contemporaneamente in Excel?


Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 30-day.
kte tab 201905

Scheda Office Porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab

Say something here...
symbols left.
You are guest ( Sign Up? )
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 · 2 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 · 3 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 · 3 years ago
    Thank you!!! It helped me so much!!!
  • To post as a guest, your comment is unpublished.
    SJ · 5 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 · 2 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)?