Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

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

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.

Importante: 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 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 MonthView 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.

Importante: 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 Código 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

Importante: 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

Importante: 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.

notas:

  • 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:


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 ...
  • Super Formula Bar (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!
officetab bottom
Say something here...
symbols left.
You are guest
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.
    Pete · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Hannah · 2 years ago
    The calendar will show up but when I click on the date, the cell doesn't populate
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi,
      The code works well in my case. Which Excel version are you using?
  • To post as a guest, your comment is unpublished.
    DwarthK · 2 years ago
    Thank you so much! These directions were super useful :)
  • To post as a guest, your comment is unpublished.
    jeet · 2 years ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi jeet,
      Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
  • To post as a guest, your comment is unpublished.
    Giuseppe · 2 years ago
    Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    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
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Sam,
      The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
  • To post as a guest, your comment is unpublished.
    cevat · 2 years ago
    tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
  • To post as a guest, your comment is unpublished.
    MG · 4 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Chris · 2 years ago
      Use i.e: Range("B6:C30")
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Good Day,
      Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
      • To post as a guest, your comment is unpublished.
        Chris · 2 years ago
        Use i.e: Range("B6:C30")
  • To post as a guest, your comment is unpublished.
    George · 4 years ago
    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?
  • To post as a guest, your comment is unpublished.
    Sirimon · 4 years ago
    I want to show pop up calendar under the cell selected.How should I do?