Ir para o conteúdo principal

Como listar todas as datas entre duas datas no Excel?

Em alguns casos, se você tiver a data de início e a data de término específicas, pode ser necessário listar todas as datas entre essas duas datas fornecidas no Excel. Agora, este tutorial está falando sobre os métodos para listar todas as datas entre duas datas no Excel.

Liste todas as datas entre duas datas por fórmulas

Liste todas as datas entre duas datas por VBA

Liste todas as datas entre duas datas pelo Kutools para Excel boa ideia 3


Aqui, apresento fórmulas que podem listar rapidamente todas as datas entre duas datas fornecidas para você no Excel.

1. Digite as datas de início e término em duas células, aqui eu as digito nas células A1 e A2. Veja a imagem:
doc-list-all-data-between-two-date-1

2. Em seguida, vá para a célula C1 para digitar esta fórmula = A1 + 1 nele, a seguir clique Entrar chave. Veja a imagem:
doc-list-all-data-between-two-date-2

3. Em seguida, na célula C2, digite esta fórmula =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) nele e arraste a alça de preenchimento automático para baixo até as células até que uma célula em branco apareça. Veja as capturas de tela:

doc-list-all-data-between-two-date-3       doc-list-all-data-between-two-date-4

Então você pode ver que todas as datas entre duas datas fornecidas estão listadas na coluna.
doc-list-all-data-between-two-date-5

Nota:

Nas fórmulas acima, A1 é a data de início, A2 é a data de término e C1 é a primeira data do intervalo de datas.


Se estiver interessado em código de macro, você pode usar o VBA abaixo para listar todas as datas entre duas datas fornecidas no Excel.

1. Digite a data de início e a data de término em duas células, aqui eu digito na célula A1 e B1. Veja a imagem:
doc-list-all-data-between-two-date-6

2. Pressione Alt + F11 chaves para abrir Microsoft Visual Basic para Aplicações janela.

3. Então clique inserção > Módulo e copie e cole abaixo o código VBA para o popping Módulo janela.

VBA: Liste todas as datas entre duas datas.

Sub WriteDates()
	'Updateby20150305
	Dim rng As Range
	Dim StartRng As Range
	Dim EndRng As Range
	Dim OutRng As Range
	Dim StartValue As Variant
	Dim EndValue As Variant
	xTitleId     = "KutoolsforExcel"
	Set StartRng = Application.Selection
	Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type: = 8)
	Set EndRng   = Application.InputBox("End Range (single cell):", xTitleId, Type: = 8)
	Set OutRng   = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
	Set OutRng   = OutRng.Range("A1")
	StartValue   = StartRng.Range("A1").Value
	EndValue     = EndRng.Range("A1").Value
	If EndValue - StartValue <= 0 Then
		Exit Sub
		End If
		ColIndex = 0
		For i = StartValue To EndValue
			OutRng.Offset(ColIndex, 0) = i
			ColIndex = ColIndex + 1
		Next
	End Sub

4. Clique Execute or F5 para executar o VBA, e uma caixa de diálogo aparecerá para você selecionar a data de início e clique em OKe selecione a data de término na segunda caixa de diálogo pop-up. Veja a imagem:

doc-list-all-data-between-two-date-7          doc-list-all-data-between-two-date-8

5. Clique OK, selecione uma célula para colocar as datas e clique em OK. Agora você pode ver todas as datas entre duas datas listadas. Veja as capturas de tela:

doc-list-all-data-between-two-date-9         doc-list-all-data-between-two-date-10

Note: A lista gerada por este VBA inclui a data de início e a data de término.


Na verdade, se você instalou Kutools for Excel - uma ferramenta útil para adicionar, você também pode usar o Inserir dados aleatórios para resolver esse problema.

Kutools for Excel, com mais de 300 funções úteis do Excel, aumentam sua eficiência de trabalho e economizam seu tempo de trabalho.

Depois de instalação grátis Kutools para Excel, faça o seguinte:

1. Selecione uma coluna para a qual deseja listar as datas entre duas datas e clique em Kutools > inserção > Inserir dados aleatórios. Veja a imagem:
doc inserir dados aleatórios 1

2. Em seguida, no Inserir dados aleatórios diálogo, clique em Data guia e selecione as datas de início e término do De e To lista, então lembre-se de verificar Dia de trabalho, Fim de semana e Valores Únicos caixas de seleção. Veja a imagem:
doc-list-all-data-between-two-date-12

3. Clique Ok para fechar o diálogo, e outro Kutools for Excel caixa de diálogo aparece, basta clicar Sim. Então você pode ver que as datas entre a data de início e a data de término são listadas. Veja as capturas de tela:

doc-list-all-data-between-two-date-13           doc-list-all-data-between-two-date-14

4. Agora você precisa classificar a lista de datas na ordem que desejar. Clique Data > Classificar do mais antigo para o mais recente. Então você pode ver que as datas são classificadas da data mais antiga para a mais recente. Veja as capturas de tela:

doc-list-all-data-between-two-date-15          doc-list-all-data-between-two-date-16

Com o Inserir dados aleatórios utilitário, você também pode inserir inteiros aleatórios, strings aleatórias e tempo aleatório, assim por diante. Clique aqui para saber mais sobre Inserir Dados Aleatórios.


Artigos relativos:


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 (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to loop this vba code (1000 rows for example) ?
This comment was minimized by the moderator on the site
Sorry for reply such late, but I do not understand your question, the VBA only for listing dates between a date range, why need to loop the code?
This comment was minimized by the moderator on the site
Firat - did you solve your issue? I have exactly the same issue and I cannot get the result in the row instead of the column.
This comment was minimized by the moderator on the site
If you invert this line you can make it work :


OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
This comment was minimized by the moderator on the site
Why do not try to transpose the column result to row?
This comment was minimized by the moderator on the site
i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
This comment was minimized by the moderator on the site
Hello, if you want to list dates in a row horizontally, you just need to use the vba code to list the dates, and copy the results and paste transpose.
This comment was minimized by the moderator on the site
Hello, Thanks for sharing a great code. I would like to ask one question though. I am using this VBA code you shared. 1) Can I list all the other cells in the same row with the dates? 2) Can we define the starting date cell and ending date cell and the cell that the new information will be written? I am asking these questions because I have 30 rows. Each row has data for different people. Cell G is a starting date and Cell H is an ending date. Other cells contains some information. I would like this to be listed in a new cell as all the dates between these cells. For example (just showing demonstration, so only G and H cells written below-I is where the list appears): Row 2 Person A 28/05/2017 05/06/2017 28/05/2017 Row 3 Person A 28/05/2017 05/06/2017 29/05/2017 Row 4 Person A 28/05/2017 05/06/2017 30/05/2017 Row 5 Person A 28/05/2017 05/06/2017 31/05/2017 Row 6 Person A 28/05/2017 05/06/2017 01/06/2017 Row 7 Person A 28/05/2017 05/06/2017 02/06/2017 Row 8 Person A 28/05/2017 05/06/2017 03/06/2017 Row 9 Person A 28/05/2017 05/06/2017 04/06/2017 Row 10 Person A 28/05/2017 05/06/2017 05/06/2017 Row 11 Person B 23/05/2017 31/05/2017 23/05/2017 Row 12 Person B 23/05/2017 31/05/2017 24/05/2017 Row 13 Person B 23/05/2017 31/05/2017 25/05/2017 Row 14 Person B 23/05/2017 31/05/2017 26/05/2017 and so on...
This comment was minimized by the moderator on the site
Can we use text box instead of in box in macro
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations