Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como encontrar e substituir texto em títulos de gráfico no Excel?

Os gráficos são muito úteis para nós no Excel, e muitas vezes damos alguns títulos para identificá-los. Mas você tentou encontrar e substituir o valor do texto em títulos de gráfico em vários gráficos? Hoje, vou falar sobre como encontrar um texto específico em vários blocos de gráfico e substituí-los por outro valor no Excel.

Localizar e substituir texto em títulos de gráfico no Excel com código VBA

Guia do Office Habilitar Edição e Navegação por Guias no Office e Facilitar seu Trabalho ...
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 outras coisas mais usadas ou complexas aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais do que recursos de texto 20: Extrair Número da Cadeia de Texto; Extrair ou remover parte dos textos; Converta números e moedas em palavras inglesas ...
  • Mesclar Ferramentas: Várias pastas de trabalho e folhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma ...
  • Ferramentas de divisão: Dados divididos em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos Excel, PDF ou CSV; Uma coluna para várias colunas ...
  • Colar pulando Linhas ocultas / filtradas; Contagem e Soma pela cor de fundo; Criar lista de discussão e Envie e-mails pelo valor da célula...
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer folha; tipo por semana, dia, frequência e mais; filtros por negrito, fórmulas, comentário ...
  • Mais de recursos poderosos do 300; Funciona com o Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

arrow blue right bubble Localizar e substituir texto em títulos de gráfico no Excel com código VBA


Supondo que você tenha uma planilha que contenha os gráficos como a próxima captura de tela mostrada e você deseja substituir o texto de janeiro a fevereiro apenas em todos os títulos do gráfico. Claro, você pode mudar manualmente um por um, mas isso consome muito tempo se houver múltiplos gráficos. Então, aqui, o seguinte código VBA pode ajudá-lo a lidar com esta tarefa. </ P>

doc-replace-chart-titles1

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

2. Mantenha pressionado 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: localize e substitua texto em títulos de gráfico 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 chave para executar este código, e uma caixa de prompt aparecerá para lembrá-lo de inserir seu texto antigo que deseja substituir, veja a captura de tela:

doc-replace-chart-titles1

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

doc-replace-chart-titles1

6. Vá clicando em OK para fechar a caixa de prompt e seus textos antigos foram substituídos pelas notícias de uma só vez na planilha atual conforme a tela de tela mostrada abaixo:

doc-replace-chart-titles1

notas: Se você precisar encontrar e substituir o valor do texto dos títulos do gráfico em todas as planilhas de uma pasta de trabalho, você deve aplicar o seguinte código VBA: (O procedimento é o mesmo que o acima)

Código VBA: encontre e substitua texto em títulos de gráfico 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 encontrar e substituir texto em comentários no Excel?

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

Como alterar vários caminhos de hiperlink ao mesmo tempo no Excel?


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

  • armadilha para peixes: Inserir rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de endereços e enviar e-mails ...
  • Bar Super Fórmula (facilmente editar várias linhas de texto e fórmula); Layout de leitura (leia e edite facilmente grandes números de células); Colar para intervalo filtrado...
  • Mesclar células / linhas / colunas sem perder dados; Conteúdo de células divididas; Combinar linhas / colunas duplicadas... Prevenir Células Duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Exclusivo Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros de trabalho; Seleção aleatória ...
  • Cópia exata Múltiplas Células sem alterar a referência da fórmula; Criar automaticamente 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 (salve e aplique 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 ...
  • Combinar pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Dividir dados em várias planilhas; Lote Converter xls, xlsx e PDF...
  • Mais de recursos poderosos do 300. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos Avaliação gratuita de um dia de 30.
kte tab 201905

A guia Office traz a interface com guias para o Office e torna seu trabalho muito mais fácil

  • Ativar edição e leitura com guias no 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!
fundo 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)?