Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como localizar e substituir texto em títulos de gráficos no Excel?

Os gráficos são muito úteis para nós no Excel, e freqüentemente damos a eles alguns títulos para identificá-los. Mas você já tentou localizar e substituir o valor do texto nos títulos dos gráficos em vários gráficos? Hoje, falarei sobre como encontrar um texto específico em vários blocos de gráficos e substituí-los por outro valor no Excel.

Encontre e substitua texto em títulos de gráficos no Excel com código VBA

Guia Office Habilite a edição e navegação com guias no Office e torne seu trabalho muito mais fácil ...
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e tudo mais usados ​​ou complexos aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais de 20 recursos de texto: Extrair número da string de texto; Extraia ou remova parte dos textos; Converta números e moedas para palavras em inglês.
  • Ferramentas de mesclagem: Várias pastas de trabalho e planilhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Divida os dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos do Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Paste Skipping Linhas ocultas / filtradas; Contagem e soma por cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer planilha; tipo por semana, dia, frequência e muito mais; filtros por negrito, fórmulas, comentário ...
  • Mais de 300 recursos poderosos; Funciona com Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

seta azul bolha direita Encontre e substitua texto em títulos de gráficos no Excel com código VBA


Supondo que você tenha uma planilha que contém os gráficos conforme a captura de tela a seguir, e deseja substituir o texto janeiro a fevereiro apenas em todos os títulos dos gráficos. Claro, você pode alterá-los manualmente um por um, mas isso levará muito tempo se houver vários gráficos. Portanto, aqui, o seguinte código VBA pode ajudá-lo a lidar com esta tarefa. </ P>

doc-replace-chart-title1

1. Ative sua planilha que contém os gráficos que deseja localizar e substituir em seus títulos.

2. Segure o ALT + F11 chaves, e abre o Janela Microsoft Visual Basic for Applications.

3. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.

Código VBA: encontre e substitua o texto nos títulos dos gráficos na planilha ativa

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. Então aperte F5 para executar este código e uma caixa de prompt aparecerá para lembrá-lo de inserir o texto antigo que deseja substituir, consulte a captura de tela:

doc-replace-chart-title1

5. E, em seguida, clique em OK botão e outra caixa de prompt aparece, você precisa digitar o novo valor de texto que deseja substituir o antigo, consulte a captura de tela:

doc-replace-chart-title1

6. Continue clicando OK para fechar a caixa de prompt, e seus textos antigos foram substituídos pelas notícias de uma vez na planilha atual, conforme mostrado a seguir:

doc-replace-chart-title1

Importante: Se você precisar localizar e substituir o valor do texto dos títulos do gráfico em todas as planilhas em uma pasta de trabalho, você deve aplicar o seguinte código VBA: (O procedimento é igual ao anterior)

Código VBA: encontre e substitua o texto nos títulos dos gráficos em todas as planilhas

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

Artigos relacionados:

Como localizar e substituir texto em comentários no Excel?

Como localizar e substituir texto específico em várias caixas de texto do Excel?

Como alterar vários caminhos de hiperlink de uma vez no Excel?


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom

 

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