Ir para o conteúdo principal

Como abrir um calendário ao clicar em uma célula específica no Excel?

Autor: Siluvia Última modificação: 2021-01-27

Supondo que haja um intervalo de colunas em uma planilha, você precisa inserir e alterar as datas com frequência, mas é entediante inserir ou alterar a data manualmente por hora. Como inserir datas rapidamente sem digitar manualmente no intervalo de colunas? Este artigo fala sobre abrir um calendário ao clicar em células em um determinado intervalo e, em seguida, inserir a data na célula selecionada automaticamente após selecionar a data no calendário.


Abra um calendário ao clicar em uma célula específica com o código VBA

Resolva este problema da seguinte forma, passo a passo.

Note: Este método só funciona no Microsoft Excel de 32 bits.

Etapa 1: Crie um UserForm com calendário

Crie um formulário de usuário que contenha o calendário que você abrirá clicando em uma célula.

1. 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 > UserForm.

3. Então um UserForm e de um Caixa de ferramentas janelas pop-up, no Caixa de ferramentas, clique em qualquer controle, clique com o botão direito e selecione Controles Adicionais no menu do botão direito. Veja a imagem:

4. No Controles Adicionais caixa de diálogo, role para baixo para verificar o Controle Microsoft MonthView opção no Controles Disponíveis e, em seguida, clique no OK botão.

5. Então você pode ver o Visualização de mês O botão é adicionado no Caixa de ferramentas janela. Clique neste botão MonthView e, em seguida, clique na janela UserForm1 para criar um calendário no formulário do usuário.

Note: Você pode ajustar o tamanho da janela do UserForm para se adequar ao calendário inserido arrastando a borda do UserForm.

6. Clique duas vezes no calendário inserido no UserForm1 e no Code janela, substitua o código original com o seguinte script VBA.

VBA code: create a user form with calendar

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
 On Error Resume Next
   Dim xRg As Object
   For Each xRg In Selection.Cells
      xRg.Value = DateClicked
   Next xRg 
   Unload Me
End Sub

Note: Este código pode ajudar a inserir a data na célula selecionada após selecionar a data do calendário.

Etapa 2: ative o calendário ao clicar na célula

Agora você precisa especificar certas células para abrir o calendário ao clicar. Faça o seguinte.

7. Clique duas vezes no nome da planilha que contém as células em que você clicar para abrir o calendário à esquerda Projeto painel e, em seguida, copie e cole o código VBA abaixo na janela Código. Veja a imagem:

VBA code: Click cell to pop up calendar

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Target.Count = 1) Then
    If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
    End If
End Sub

Note: no código, A2: A10 são células nas quais você clica para abrir o calendário. Altere o intervalo de células conforme necessário.

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

A partir de agora, ao clicar em qualquer célula dentro do intervalo especificado na planilha atual, um calendário aparecerá conforme a imagem mostrada abaixo. E a data será inserida automaticamente na célula selecionada após selecionar a data no calendário.


Abra um calendário ao clicar em uma célula específica com o código VBA

Esta seção apresenta o Data Picker utilidade de Kutools for Excel. Depois de ativar esse recurso, clique em uma célula de data para abrir um calendário, você pode facilmente substituir a data existente por uma nova data com ela. Siga as etapas abaixo para aplicar este recurso.

1. Clique Kutools > Conteúdo > Habilitar selecionador de data.

2. Depois de habilitar este recurso, clique em uma célula de data e um ícone de calendário aparecerá diretamente na célula.

3. Clique no ícone de calendário para abrir o Data Picker caixa de diálogo e clique em uma nova data para substituir a data na célula selecionada.

Observações:

  • Botão Desfazer: Clique neste botão para desfazer a substituição da data;
  • Botão Fechar: Clique neste botão para fechar a caixa de diálogo Selecionador de data;
  • Este recurso só pode ser aplicado a células contendo data.

  Se você quiser ter um teste gratuito (30 dias) deste utilitário, por favor clique para fazer o downloade, em seguida, aplique a operação de acordo com as etapas acima.


Artigos relacionados:

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab 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!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations