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

Como inserir carimbo de data em uma célula se uma caixa de seleção no Excel estiver marcada?

Normalmente, você insere um carimbo de data usando teclas de atalho no Excel. Que tal inserir o carimbo de data em uma célula por uma caixa de seleção no Excel? Ao marcar a caixa de seleção, o carimbo de hora é inserido em uma célula especificada automaticamente. Este artigo o ajudará a resolvê-lo.

Insira o carimbo de data em uma célula se marcada uma caixa de seleção com o código VBA


Insira o carimbo de data em uma célula se marcada uma caixa de seleção com o código VBA


Esta seção apresentará um script VBA para ajudá-lo a inserir um carimbo de data em uma célula automaticamente se uma caixa de seleção marcada no Excel for marcada. Faça o seguinte.

1. Após inserir uma caixa de seleção, pressione outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique em inserção > Módulo. Em seguida, copie e cole o código VBA abaixo na janela Módulo.

Código VBA: insira o carimbo de data em uma célula se estiver marcada uma caixa de seleção

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
With xChk.TopLeftCell.Offset(, 1)
    If xChk.Value = xlOff Then
        .Value = ""
    Else
       .Value = Date
    End If
End With
End Sub

3. Pressione outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.

4. Clique com o botão direito na caixa de seleção e selecione Atribuir Micro no menu do botão direito. Veja a imagem:

5. No Atribuir Macro caixa de diálogo, selecione CheckBox_Date_Stamp no Nome da macro e, em seguida, clique no OK botão. Veja a imagem:

Ao marcar a caixa de seleção, o carimbo de data será inserido na célula adjacente 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-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 (22)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Obrigado, isso foi muito útil, gostaria de observar que acho mais útil ter o carimbo de data à esquerda da caixa de seleção. para fazer isso, basta alterar o deslocamento para (, -1)
Ines
Este comentário foi feito pelo moderador no site
Existe alguma maneira de fazer isso com a data e hora? Obrigado pela informação de qualquer forma!
Sarah T
Este comentário foi feito pelo moderador no site
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Definir xChk = ActiveSheet.CheckBoxes(Application.Caller) Com xChk.TopLeftCell.Offset(, 1) Se xChk.Value = xlOff Then .Value = "" Else .Value = Date & " " & Tempo Final Se Finalizar Com Final Sub
Benoit T
Este comentário foi feito pelo moderador no site
Oi,
Por favor, aplique o código VBA abaixo para adicionar data e hora.

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Definir xChk = ActiveSheet.CheckBoxes(Application.Caller)
Com xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Então
.Valor = ""
Outro
.Valor = Agora()
Se acabar
Terminar com
End Sub
cristal
Este comentário foi feito pelo moderador no site
HI Eu tentei esta fórmula e funcionou apenas para A1 e B1 quando apliquei a macro à caixa de seleção em A1. No entanto, quando apliquei a macro na caixa de seleção em A2, nada aconteceu em B2. Além disso, como a fórmula seria alterada se eu quisesse usar isso para uma lista de verificação? Se a coluna A fosse as caixas de seleção e a coluna C fosse a data de conclusão.
Junho
Este comentário foi feito pelo moderador no site
Oi:) você pode copiar a célula com a caixa de seleção em A1 para o restante da coluna. ou atribua a macro individualmente a cada caixa de seleção
Miriam Alfy
Este comentário foi feito pelo moderador no site
Bom dia,
Atribua a macro individualmente a cada caixa de seleção.
cristal
Este comentário foi feito pelo moderador no site
Copiei e colei o código VBA exatamente, mas na minha planilha, a data aparece na célula acima e à direita da coluna da caixa de seleção, não na célula diretamente à direita. ?
Mallory V
Este comentário foi feito pelo moderador no site
Eu também estou tendo exatamente o mesmo problema. "AJUDA! Eu preciso de alguém AJUDA! Não qualquer AJUDA! Você sabe que eu preciso de alguém AJUDA!
CW
Este comentário foi feito pelo moderador no site
Dia bom,
O código funciona bem no meu caso. Após marcar a caixa de seleção, a data aparecerá na célula diretamente à direita. Você forneceria uma captura de tela do seu caso. E qual versão do Office você usa. Obrigada.
cristal
Este comentário foi feito pelo moderador no site
Eu tive o mesmo problema com o carimbo de data e hora que aparece na célula acima da célula pretendida (usando o Excel 2007). Eu fui em frente e alterei a fórmula "offset" para que ela passe por uma célula e desça uma célula e agora o carimbo está aparecendo onde eu quero: With xChk.TopLeftCell.Offset(1, 1)
Estou atualizando uma planilha que outra pessoa criou e não criou as caixas de seleção, mas pode ter a ver com onde dentro da célula a caixa de seleção está colocada. Obtive resultados diferentes quando alinhei a caixa de seleção com a parte inferior da célula.

Espero que ajude!
Kev
Este comentário foi feito pelo moderador no site
Isto é o que eu fiz para corrigir esse problema

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Definir xChk = ActiveSheet.CheckBoxes(Application.Caller)
Com xChk.TopLeftCell.Offset(1, 1)
Se xChk.Value = xlOff Então
.Valor = ""
Outro
.Valor = Agora()
Se acabar
Terminar com
End Sub
Jacob W
Este comentário foi feito pelo moderador no site
Oi! Obrigado pelo código. Funciona perfeitamente com um pequeno ajuste no deslocamento. No entanto, eu estava trabalhando em uma planilha que tem muitas linhas (~ 500+ linhas) que contém muitas caixas de seleção e o tamanho do arquivo aumentou significativamente. Existe alguma forma de diminuir o tamanho? Alguma forma alternativa de fazer isso?

Obrigado!
Amy H
Este comentário foi feito pelo moderador no site
Bom dia
Se houver muitas caixas de seleção nas linhas e você quiser agir em todas as caixas de seleção ao mesmo tempo, o código VBA abaixo pode ajudá-lo.
Copie os códigos em uma janela de código do módulo, volte para a planilha e crie um botão (como um botão (controle de formulário)), atribua a macro SetAllChkChange() ao botão e clique no botão para executar o código.

Agora todas as caixas de seleção nas linhas da sua planilha foram ativadas. Você pode marcar qualquer um deles para inserir um carimbo de data em sua célula adjacente.

Sub SetAllChkChange()
Escurecer xChks
Dim xChk As CheckBox
Dim xI Enquanto
On Error Resume Next
Apagar xArrChk
Definir xChks = ActiveSheet.CheckBoxes
ReDim Preserve xArrChk(1 To xChks.count)
xI = 1
Para cada xChk em xChks
xChk.Selecionar
Selection.OnAction = "ObjChkChange"
Seguinte
End Sub


Sub ObjChkChange()
Dim xChk As CheckBox
Definir xChk = ActiveSheet.CheckBoxes(Application.Caller)
Com xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Então
.Valor = ""
Outro
.Valor = Data
Se acabar
Terminar com
End Sub
cristal
Este comentário foi feito pelo moderador no site
como faço para que o carimbo de data seja exibido na minha caixa de seleção?
Mehpira
Este comentário foi feito pelo moderador no site
Oi! eu não consigo encontrar uma maneira de onde o carimbo de data estará ao lado da caixa de seleção. eu tentei alterar o valor de deslocamento de 0, 1 e -1. Você pode me ajudar com isto? obrigada!
Cj
Este comentário foi feito pelo moderador no site
Oi, supondo que sua caixa de seleção esteja em A2 e queira exibir o carimbo de data no lado direito da caixa de seleção (neste caso, é B2), altere o valor de Offset para Offset(1, 1).
cristal
Este comentário foi feito pelo moderador no site
Eu usei o VBA para o carimbo de hora da caixa de seleção, mas as duas primeiras células não estão funcionando corretamente. Minha primeira caixa de seleção está em A2, quando eu marco a caixa, a hora é postada em B1. Como faço para corrigir isso?
steve
Este comentário foi feito pelo moderador no site
Oi Steve,
Substitua a quarta linha no código por With xChk.TopLeftCell.Offset(1, 1).
cristal
Este comentário foi feito pelo moderador no site
Muito obrigado!! Brilhante! Obrigada!
Hash
Este comentário foi feito pelo moderador no site
Oi, como posso fazer um loop no código para incluir todas as caixas de seleção na coluna?
Ahmed Hassan
Este comentário foi feito pelo moderador no site
Dia bom,
Se houver muitas caixas de seleção nas linhas e você quiser agir em todas as caixas de seleção ao mesmo tempo, o código VBA abaixo pode ajudá-lo.
Copie os códigos abaixo em uma janela de código do módulo, volte para a planilha e crie um botão (como um botão (controle de formulário)), atribua a macro SetAllChkChange() ao botão e, em seguida, clique no botão para executar o código.

Agora todas as caixas de seleção nas linhas da sua planilha foram ativadas. Você pode marcar qualquer um deles para inserir um carimbo de data em sua célula adjacente.

Sub SetAllChkChange()
'Atualizado por Extendoffice 20211130
Escurecer xChks
Dim xChk As CheckBox
On Error Resume Next
Definir xChks = ActiveSheet.CheckBoxes
Para cada xChk em xChks
xChk.Selecionar
Selection.OnAction = "ObjChkChange"
Seguinte
End Sub

Sub ObjChkChange()
Dim xChk As CheckBox
Definir xChk = ActiveSheet.CheckBoxes(Application.Caller)
Com xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Então
.Valor = ""
Outro
.Valor = Data
Se acabar
Terminar com
End Sub
cristal
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0  Personagens
Locais sugeridos