Note: The other languages of the website are Google-translated. Back to English

Como alterar o valor da célula clicando na célula?

É possível alterar o valor da célula clicando em uma célula no Excel? Por exemplo, quando você clica em uma célula específica A1, pela primeira vez, ela mostra um texto “Excel”, se você clicar em A1 novamente, um texto “Word” é exibido e um texto “Outlook” é exibido quando você clica neste célula na terceira vez. Neste caso, o valor na célula A1 será recorrente de "Excel" para "Word" para "Outlook" para "Excel" ... como mostrado a seguir:

doc alterar valor por clique 1

Altere o valor da célula clicando em uma célula com código VBA


seta azul bolha direita Altere o valor da célula clicando em uma célula com código VBA


Para terminar esta tarefa no Excel, o seguinte código VBA pode ajudá-lo, faça o seguinte:

1. Clique com o botão direito na guia da planilha em que deseja alterar o valor da célula clicando em e escolha Ver código a partir do menu de contexto, e no aberto Microsoft Visual Basic para Aplicações janela, copie e cole o seguinte código no módulo em branco:

Código VBA: altere o valor da célula clicando em uma célula:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Updateby Extendoffice
  Application.EnableEvents = False
  With Target
  If .Address = Range("A1").Address Then
    Select Case .Value
      Case "Excel"
        .Value = "Word"
      Case "Word"
        .Value = "Outlook"
      Case "Outlook"
        .Value = "Excel"
      Case Else
        .Value = "Word"
    End Select
  End If
  End With
  Range("A2").Select
  Application.EnableEvents = True
End Sub

doc alterar valor por clique 2

Nota: No código acima, A1 é a célula onde você deseja alterar o valor clicando em, “sobressair","Word","Outlook”São os valores das células que você deseja exibir de forma recorrente, você pode alterá-los conforme sua necessidade.

2. Depois de colar o código, salve-o e feche a janela. Agora, quando você clica na célula A1 pela primeira vez, o texto “Excel” é exibido de uma vez, clique nele novamente, o texto “Word” é exibido, o texto “Outlook” é mostrado se você clicar nele na terceira vez, veja a imagem:

doc alterar valor por clique 1


Mais artigos relacionados:

Como filtrar dados apenas clicando no conteúdo da célula no Excel?

Como classificar os dados da coluna clicando no cabeçalho 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 ...
  • Barra Super Fórmula (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!
parte inferior da aba do escritório
Comentários (7)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Estou tentando aplicar isso a uma coluna inteira de células individuais, não apenas a uma célula. Isso é possível? Quando altero o intervalo de "A1" para "A1:A100", nada acontece quando clico nas células desse intervalo.
Este comentário foi feito pelo moderador no site
Eu fiz isso, mas não vou contar a ninguém MUWAHAHAHAHAHAHAHAHAHA
Este comentário foi feito pelo moderador no site
Você pode fazer isso declarando o intervalo que deseja ter como KeyCells e depois colocar isso no método Application.Intersection. Isso permitirá que você altere o valor de sua escolha de todas as células. Funcionou para mim, mas eu sou ruim em explicar ^^

Dim KeyCells como intervalo

Definir KeyCells = Range("A1:A100")

Se não for Application.Intersect(KeyCells, Range(Target.Address)) não é nada então

Selecione Caso .Valor

...
Este comentário foi feito pelo moderador no site
Você pode fazer isso declarando o intervalo que deseja ter como KeyCells e depois colocar isso no método Application.Intersection. Isso permitirá que você altere o valor de sua escolha de todas as células. Funcionou para mim, mas eu sou ruim em explicar ^^


Application.EnableEvents = False
Com alvo


Dim KeyCells como intervalo

Definir KeyCells = Range("A1:A100")

Se não for Application.Intersect(KeyCells, Range(Target.Address)) não é nada então

Selecione Caso .Valor

...
Este comentário foi feito pelo moderador no site
Este é o código final que funcionou para mim. Eu o uso para verificar uma célula quando um item é concluído.
Sub Worksheet_SelectionChange particular (destino ByVal como intervalo)
  Application.EnableEvents = False
    Com alvo
      Dim KeyCells como intervalo
      Set KeyCells = Range("D6:D8000")
      Se não for Application.Intersect(KeyCells, Range(Target.Address)) não é nada então
        Selecione Caso .Valor
          Caso "u"
            .Valor = ""
          Caso ""
            .Valor = "ü"
        End Select
      Se acabar
    Terminar com
  Application.EnableEvents = True
End Sub
Este comentário foi feito pelo moderador no site
Esta é uma ótima informação, obrigado pela contribuição de todos! Existe uma maneira de aplicar esse mesmo tipo de abordagem com um valor de pesquisa ou índice/correspondência?

Por exemplo, se eu clicar em um valor em A1, o VBA pode ser configurado para indexar esse valor em outra coluna da planilha e exibir um valor correspondente em B1? Obrigado novamente!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos