Notifications
Clear all

busca entre datas em várias colunas ao mesmo tempo

9 Posts
3 Usuários
0 Reactions
1,429 Visualizações
(@mablove)
Posts: 7
Active Member
Topic starter
 

Boa noite gente,

preciso de muita ajuda

tenho uma planilha que consta de 3 abas. Nelas possuo diversas colunas com diversas datas diferentes que são calculadas automaticamente quando insiro uma data principal.
Preciso fazer uma busca entre datas dentro de cada aba e lançar esses resultados em uma aba chamada consulta.

minha planilha está em anexo

 
Postado : 04/02/2018 7:04 pm
(@klarc28)
Posts: 971
Prominent Member
(@mablove)
Posts: 7
Active Member
Topic starter
 

Vídeos relacionados:

https://www.youtube.com/results?search_query=vba+busca
https://www.youtube.com/results?search_query=vba+pesquisa+entre+datas

Já vi quase todos os vídeos e todos só ensinam a pesquisar entre datas em somente 1 coluna, minha planilha tem mais de 1 coluna com datas. Preciso que a busca olhe todas as colunas e me mostre os resultados

 
Postado : 04/02/2018 7:46 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

No seu arquivo existe uma macro (Macro1_consulta_mensal) que estabelece o critério de busca como "jul/13", eu imagino que você vá fazer buscas em períodos diversos. É isso?
Se sim:
1. como você pretende informar os períodos? pode ser em duas células da planilha menu, por exemplo, 01/07/13 em uma célula e 31/07/13 em outra ?
2. em cada planilha há várias colunas com datas, em quais colunas de cada planilha você pretende que o código faça a busca ?

Osvaldo

 
Postado : 04/02/2018 7:58 pm
(@klarc28)
Posts: 971
Prominent Member
 

Código parcial abaixo

 
Postado : 04/02/2018 8:11 pm
(@mablove)
Posts: 7
Active Member
Topic starter
 

No seu arquivo existe uma macro (Macro1_consulta_mensal) que estabelece o critério de busca como "jul/13", eu imagino que você vá fazer buscas em períodos diversos. É isso?
Se sim:
1. como você pretende informar os períodos? pode ser em duas células da planilha menu, por exemplo, 01/07/13 em uma célula e 31/07/13 em outra ?
2. em cada planilha há várias colunas com datas, em quais colunas de cada planilha você pretende que o código faça a busca ?

1. gostaria de criar um form para inserir as datas
2. nas planilhas que estão escritas 3 meses, 6 meses, 9 meses,...

 
Postado : 04/02/2018 8:15 pm
(@klarc28)
Posts: 971
Prominent Member
 

Código abaixo

 
Postado : 04/02/2018 8:38 pm
(@mablove)
Posts: 7
Active Member
Topic starter
 
sub teste (  )

dim dt as date
dt = cdate(sheets("Consulta").range("B5").value)'Não sei qual é a data da pesquisa, B5 é apenas um exemplo
dim linha, coluna, colunaInicial, colunaFinal, linhaInicial, linhaFinal as long

linhaInicial = 2
colunaIncial = 6
colunaFinal = 12
linhaFinal = sheets("Longa duração").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Longa duração").cells(linha, coluna).value) then

'faça tal coisa

end if

next coluna
next linha

linhaInicial = 2
colunaIncial = 6
colunaFinal = 8
linhaFinal = sheets("Acelerada").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Acelerada").cells(linha, coluna).value) then

'faça tal coisa

end if

next coluna
next linha

linhaInicial = 2
colunaIncial = 6
colunaFinal = 8
linhaFinal = sheets("Acompanhamento").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Acompanhamento").cells(linha, coluna).value) then

'faça tal coisa

end if

next coluna
next linha



end sub

Como faço para ele mostrar na planilha consulta ?

 
Postado : 04/02/2018 9:04 pm
(@klarc28)
Posts: 971
Prominent Member
 
[code]sub teste (  )

dim dt as date
dt = cdate(sheets("Consulta").range("B5").value)'Não sei qual é a data da pesquisa, B5 é apenas um exemplo
dim linha, coluna, colunaInicial, colunaFinal, linhaInicial, linhaFinal, linhaFinalConsulta as long

linhaInicial = 2
colunaIncial = 6
colunaFinal = 12
linhaFinal = sheets("Longa duração").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Longa duração").cells(linha, coluna).value) then

linhaFinalConsulta = sheets("Consulta").Range("B1").End(xlDown).Row
sheets("Consulta").Range("B" & linhaFinalConsulta).value = sheets("Longa duração").Range("B" & linha).value

end if

next coluna
next linha

linhaInicial = 2
colunaIncial = 6
colunaFinal = 8
linhaFinal = sheets("Acelerada").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Acelerada").cells(linha, coluna).value) then

'faça tal coisa

end if

next coluna
next linha

linhaInicial = 2
colunaIncial = 6
colunaFinal = 8
linhaFinal = sheets("Acompanhamento").Range("B1").End(xlDown).Row

For linha = linhaInicial to LinhaFinal
For coluna = colunaInicial to ColunaFinal

if dt = cdate(sheets("Acompanhamento").cells(linha, coluna).value) then

'faça tal coisa

end if

next coluna
next linha



end sub[/code]
 
Postado : 05/02/2018 4:37 am