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

Como adicionar / inserir automaticamente a data / hora atual em uma célula clicando duas vezes no Excel?

Se você precisar inserir a data atual ou a hora da data com freqüência em uma planilha, pode tentar o método neste artigo. Este artigo o ajudará a adicionar ou inserir automaticamente a data atual ou a linha de data em células de um intervalo especificado com apenas um clique duplo.

Clique duas vezes para adicionar / inserir automaticamente a data ou hora atual com o código VBA


Clique duas vezes para adicionar / inserir automaticamente a data ou hora atual com o código VBA

Você pode executar o código VBA abaixo para adicionar automaticamente a data atual ou a hora da data em uma célula com um clique duplo. Faça o seguinte.

1. Clique com o botão direito na guia Planilha na qual deseja inserir a data atual nas células especificadas e selecione Ver código no menu do botão direito.

2. No Microsoft Visual Basic para Aplicativos janela, copie e cole o código VBA abaixo na janela Código.

Código VBA: clique duas vezes para adicionar a data atual em uma célula

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub

Notas:

1. No código, A1: B10 é o intervalo ao qual você adicionará a data atual.
2. Se você precisar adicionar data e hora atual na célula, substitua Data com Agora() no código. Você pode alterá-los conforme necessário.

3. Pressione outro + Q simultaneamente para fechar o Microsoft Visual Basic para Aplicações janela e retornar à planilha.

De agora em diante, ao clicar duas vezes em qualquer célula no intervalo especificado A1: B10. A data ou hora atual serão inseridas automaticamente.


Artigos relacionados:


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-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. 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 (28)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Como estendemos isso para adicionar mais intervalo de células? Eu adicionei uma célula extra ao código: (Target, Range("C10:C19", "D10:D19", "E10:E19")), mas está me dando um erro de compilação dizendo "wrong number of arguments or atribuições de propriedade inválidas" e, em seguida, destaca a primeira linha de código que você forneceu "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" Por favor, ajude-me.
Este comentário foi feito pelo moderador no site
Joel, não sei se você ainda está procurando uma solução, mas precisa alterar seu código:

De: (Alvo, Alcance("C10:C19", "D10:D19", "E10:E19"))
Para: (Alvo, Faixa("C10:C19,D10:D19,E10:E19"))

Isso fará isso por você.
Este comentário foi feito pelo moderador no site
Olá Nick
Gostaria de uma dica sua sobre esse assunto....
Tenho um arquivo que chamo de "folha de produtividade".... Nesta planilha gostaria de inserir a hora real, nas células selecionadas, quando a célula é clicada... (Se possível, gostaria que essas células depois que o tempo parece se tornar imutável ..... algo como estar bloqueado.)
Eu aprecio o seu tempo e obrigado antecipadamente
Átila, Hungria
exyzee@gmail.com
Este comentário foi feito pelo moderador no site
Prezado Átila,
Por favor, tente a captura de tela abaixo para inserir o tempo real para a célula em um determinado intervalo quando for clicado.
(A função de bloqueio automático das células não pode ser alcançada, desculpe por isso)

Sub Worksheet_SelectionChange particular (destino ByVal como intervalo)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:B10")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Data
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
O código realmente funciona... Obrigado... adicionei outro código para proteger a célula após a entrada dos dados. Agora o problema é que, uma vez que eu insiro os dados e a célula está protegida e por engano se eu clicar duas vezes na célula protegida, então o código acima dá errado para toda a planilha. Não funciona então. Eu tenho que desproteger a planilha para ativar o código. Qualquer solução?

O Código de proteção utilizado está abaixo:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg como intervalo
On Error Resume Next
Set xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), Target)
Se xRg não for nada, saia do sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Verdadeiro
Target.Worksheet.Protect Password:="123"
End Sub
Este comentário foi feito pelo moderador no site
Caro Paul,
Eu tento o código que você forneceu. A planilha inteira será protegida imediatamente assim que eu inserir dados em qualquer uma das células protegidas especificadas.
Além disso, ao clicar duas vezes na célula protegida, nada muda no código no meu caso.
Você poderia explicar o que você está exatamente tentando fazer com o código?
Este comentário foi feito pelo moderador no site
Desculpe, entendi seu ponto. (falta o código acima)
Este comentário foi feito pelo moderador no site
O código de entrada de duplo clique criado é:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:a1000")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Data
Se acabar

If Not Intersect(Target, Range("b1:b1000")) não é nada então
Cancelar = Verdadeiro
Target.Formula = Tempo
Se acabar

If Not Intersect(Target, Range("g1:g1000")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Tempo
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Caro Paul,
Por favor, tente o seguinte código VBA.

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg como intervalo
On Error Resume Next
Set xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), Target)
Se xRg não for nada, saia do sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Verdadeiro
Target.Worksheet.Protect Password:="123"
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Desproteger Senha:="123"
If Not Intersect(Target, Range("A1:a1000")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Data
Se acabar
If Not Intersect(Target, Range("b1:b1000")) não é nada então
Cancelar = Verdadeiro
Target.Formula = Tempo
Se acabar
If Not Intersect(Target, Range("g1:g1000")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Tempo
Se acabar
ActiveSheet.Proteger senha:="123"
Application.EnableEvents = True
End Sub
Este comentário foi feito pelo moderador no site
Copiei e colei o código atualizando o intervalo e não funcionou :-(


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B4:B100")) Não é Nada Então
Cancelar = Verdadeiro
Alvo.Formula = Agora()
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Dia bom,
O código funciona bem no meu caso. Você pode me dizer sua versão do Office?
Este comentário foi feito pelo moderador no site
Olá, o código que você deu funciona muito bem. Estou apenas curioso se existe alguma maneira de ter o texto "duplo clique para adicionar data" na célula até que a data seja inserida. Obrigado antecipadamente (estou tentando tornar meu documento o mais amigável possível para não confundir meus colegas de trabalho)
Este comentário foi feito pelo moderador no site
Olá, o código acima funcionou muito bem para mim. Agora estou apenas querendo saber se existe uma maneira de fazer com que o texto "Clique duas vezes para inserir a data" apareça na célula até que a data seja inserida. Meu objetivo é tornar o documento o mais amigável possível. Agradeço antecipadamente
Este comentário foi feito pelo moderador no site
Olá Travis,
Não podemos modificar o código para que o texto seja exibido diretamente na célula. Mas, alternativamente, o código otimizado abaixo ajudará a exibir o texto no comentário da célula, e o comentário será removido automaticamente após clicar duas vezes na célula para inserir a data.

Sub Worksheet_SelectionChange particular (destino ByVal como intervalo)
If Not Intersect(Target, Range("A1:B10")) Não é Nada Então
Target.NoteText "clique duas vezes para adicionar data"
Se acabar
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:B10")) Não é Nada Então
Cancelar = Verdadeiro
Alvo.Comentário.Excluir
Target.Formula = Data
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Oi lá,

Copiei e colei o código acima exatamente como está escrito em uma pasta de trabalho em branco, no entanto, não funciona para mim. Eu olhei para diferentes fontes na web e a maioria dos sites tem um formato semelhante ao que está escrito acima. Acho que talvez haja algo errado com meu VBA ou algumas configurações não estão ativadas. Qualquer conselho seria muito apreciado. Estou executando o Excel para Office 365 MSO (16.0.11001.20097) de 32 bits no Windows 10.
Este comentário foi feito pelo moderador no site
Adorei o código e funciona muito bem. Como posso fazer isso quando clico duas vezes para executar o código, mostra a hora em tempo militar?
Este comentário foi feito pelo moderador no site
Olá Dylan,
Desculpe, não posso ajudá-lo com isso ainda. Obrigado pelo seu comentário.
Este comentário foi feito pelo moderador no site
Acho que se você selecionar o formato de hora militar para essa célula nas opções Formato -> Número -> Hora na sua planilha, isso deve funcionar. Por exemplo, ele oferece a opção de 1h30 ou 13h30, então você selecionaria apenas 13h30 e isso deveria acontecer.
Este comentário foi feito pelo moderador no site
Eu acho que se você apenas selecionar o formato de hora militar para essa célula nas opções de formato de número -> hora que deve fazê-lo. Por exemplo, você selecionaria 13h30 em vez de 1h30 e, em seguida, deveria ser exibido em horário militar.
Este comentário foi feito pelo moderador no site
Alguém sabe se existe uma maneira de inserir esse código no Excel Online? Eu tinha usado com a versão desktop e funcionou muito bem, mas agora migramos tudo para a plataforma online e meus carimbos de data e hora ao clicar duas vezes desapareceram e não consigo descobrir como visualizar ou editar o código. Obrigado.
Este comentário foi feito pelo moderador no site
Então, eu inseri o código e funciona muito bem em várias planilhas da minha pasta de trabalho, no entanto, em algumas planilhas, de repente, ele para de funcionar após uma determinada linha, mesmo que eu tenha inserido o intervalo correto. Quaisquer pensamentos sobre por que isso pode acontecer.
Este comentário foi feito pelo moderador no site
Isso era exatamente o que eu estava procurando - isso economizou muito tempo e aprecio as instruções bem escritas. Obrigada!
Este comentário foi feito pelo moderador no site
Olá, o código fez muito por mim, como posso restringir o código para funcionar apenas se o campo estiver em branco. Se uma data já estiver na célula, clique duas vezes não deve fazer nada, no que diz respeito
Este comentário foi feito pelo moderador no site
Olá Ahmed,
Desculpe o incómodo. Para preencher apenas as células em branco com datas com um clique duplo, você pode aplicar o seguinte código VBA para fazer isso.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20220609
    If Not Intersect(Target, Range("B1:C20")) Is Nothing Then
        If Target.Value = "" Then
            Cancel = True
            Target.Formula = Date
        End If
    End If
End Sub
Este comentário foi feito pelo moderador no site
Esta função não funcionou. Clicar duas vezes simplesmente insere a edição manual da célula.
Este comentário foi feito pelo moderador no site
Oi Bob,
O código funciona bem no meu caso. Preciso saber mais especificamente sobre seu problema, como sua versão do Excel.
E o código só funciona nas células que você especificou.
Este comentário foi feito pelo moderador no site
Oi tudo,

Eu tento usar essa macro para usar o carimbo de data clicando duas vezes na coluna E e está funcionando, mas quando tento replicar a macro para fazer o mesmo, mas para o momento atual na coluna F, não está funcionando, como você pode ver em anexo, eu tenho uma mensagem de erro informando: Nome ambíguo detectado.
Quando tento alterar a parte da Sub WorkSheet por outro nome e clicar duas vezes nas células, nada acontece.

Alguém poderia me ajudar nisso?

Meu código:


Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E1:E10000")) Não é Nada Então
Cancelar = Verdadeiro
Target.Formula = Data
Se acabar
End Sub

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("F1:F10000")) Não é Nada Então
Cancelar = Verdadeiro
Alvo.Formula = Agora()
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
Oi Louis
Replicar a macro causará dois procedimentos iguais com o mesmo nome em uma única janela de código de planilha. O Excel não permite dois ou mais nomes de funções iguais em um módulo. Nem mesmo em Eventos. Leva à ambiguidade.
Se você quiser fazer uma tarefa diferente no mesmo evento, precisará modificar o código original para atender às suas necessidades.
O seguinte código VBA pode lhe fazer um favor. Por favor, tente.
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20221025
    If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
    If Not Intersect(Target, Range("F1:F10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub
Não há comentários postados aqui ainda

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL