Notifications
Clear all

Consulta por periodos de datas em diferentes folhas

4 Posts
2 Usuários
0 Reactions
988 Visualizações
(@paulitotavares)
Posts: 36
Trusted Member
Topic starter
 

Bom dia

Preciso de uma pequena ajuda.
Quero que os dados da folha "Dados 2015", sejam registados nas outras 3 folhas (folha13, folha14 e folha15), mas o que acontece, é que só regista na folha13.

O código é o seguinte:

Private Sub btExecutar_Click()
Folha13.Range("a11:i69").ClearContents
Folha14.Range("a11:g69").ClearContents
Folha15.Range("a11:f69").ClearContents
lin = 15
linha = 11

If cdDataINI = "" Or cdDataFIM = "" Then Exit Sub

Do Until Sheets("Dados 2015").Cells(lin, 1) = ""
If Sheets("Dados 2015").Cells(lin, 9) >= CDate(cdDataINI) And _
Sheets("Dados 2015").Cells(lin, 9) <= CDate(cdDataFIM) And _
Sheets("Dados 2015").Cells(lin, 25) = "Sinist. Grave" Then
Folha13.Cells(linha, 1) = Sheets("Dados 2015").Cells(lin, 3) 'N.º BEAV
Folha13.Cells(linha, 2) = Month(Sheets("Dados 2015").Cells(lin, 9)) 'Mês
Folha13.Cells(linha, 3) = Day(Sheets("Dados 2015").Cells(lin, 9)) 'Dia
Folha13.Cells(linha, 4) = Sheets("Dados 2015").Cells(lin, 11) 'Hora
Folha13.Cells(linha, 5) = Sheets("Dados 2015").Cells(lin, 13) 'Distrito
Folha13.Cells(linha, 6) = Sheets("Dados 2015").Cells(lin, 29) 'Mortos
Folha13.Cells(linha, 7) = Sheets("Dados 2015").Cells(lin, 34) 'Feridos Graves
Folha13.Cells(linha, 8) = Sheets("Dados 2015").Cells(lin, 38) 'Feridos Leves
If Sheets("Dados 2015").Cells(lin, 7) = "" Then
Folha13.Cells(linha, 9) = "DTransGUARDA"
Else
Folha13.Cells(linha, 9) = Sheets("Dados 2015").Cells(lin, 7) 'Subunidade
End If
linha = linha + 1
End If
lin = lin + 1
Loop

Do Until Sheets("Dados 2015").Cells(lin, 1) = ""
If Sheets("Dados 2015").Cells(lin, 9) >= CDate(cdDataINI) And _
Sheets("Dados 2015").Cells(lin, 9) <= CDate(cdDataFIM) And _
Sheets("Dados 2015").Cells(lin, 25) = "Sinist. Leve" Then
Folha14.Cells(linha, 1) = Sheets("Dados 2015").Cells(lin, 3) 'N.º BEAV
Folha14.Cells(linha, 2) = Month(Sheets("Dados 2015").Cells(lin, 9)) 'Mês
Folha14.Cells(linha, 3) = Day(Sheets("Dados 2015").Cells(lin, 9)) 'Dia
Folha14.Cells(linha, 4) = Sheets("Dados 2015").Cells(lin, 11) 'Hora
Folha14.Cells(linha, 5) = Sheets("Dados 2015").Cells(lin, 13) 'Distrito
Folha14.Cells(linha, 6) = Sheets("Dados 2015").Cells(lin, 38) 'Feridos Leves
If Sheets("Dados 2015").Cells(lin, 7) = "" Then
Folha14.Cells(linha, 7) = "DTransGUARDA"
Else
Folha14.Cells(linha, 7) = Sheets("Dados 2015").Cells(lin, 7) 'Subunidade
End If
linha = linha + 1
End If
lin = lin + 1
Loop

Do Until Sheets("Dados 2015").Cells(lin, 1) = ""
If Sheets("Dados 2015").Cells(lin, 9) >= CDate(cdDataINI) And _
Sheets("Dados 2015").Cells(lin, 9) <= CDate(cdDataFIM) And _
Sheets("Dados 2015").Cells(lin, 25) = "Danos" Then
Folha15.Cells(linha, 1) = Sheets("Dados 2015").Cells(lin, 3) 'N.º BEAV
Folha15.Cells(linha, 2) = Month(Sheets("Dados 2015").Cells(lin, 9)) 'Mês
Folha15.Cells(linha, 3) = Day(Sheets("Dados 2015").Cells(lin, 9)) 'Dia
Folha15.Cells(linha, 4) = Sheets("Dados 2015").Cells(lin, 11) 'Hora
Folha15.Cells(linha, 5) = Sheets("Dados 2015").Cells(lin, 13) 'Distrito
If Sheets("Dados 2015").Cells(lin, 7) = "" Then
Folha15.Cells(linha, 6) = "DTransGUARDA"
Else
Folha15.Cells(linha, 6) = Sheets("Dados 2015").Cells(lin, 7) 'Subunidade
End If
linha = linha + 1
End If
lin = lin + 1
Loop
MsgBox "Processo concluído - " & cdDataINI & " à " & cdDataFIM
End Sub

Private Sub UserForm_Click()

End Sub

 
Postado : 24/06/2015 3:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Paulito, o ideal seria anexar um modelo reduzido com dados ficticios, assim fica mais fácil analisar e ajudar.

[]s

 
Postado : 24/06/2015 5:43 am
(@paulitotavares)
Posts: 36
Trusted Member
Topic starter
 

Aqui vai o ficheiro

O botão executar está na 1ª folha.

De momento o código correcto seria que após verificar as condicionantes, ele gravasse nas diferentes folhas

 
Postado : 24/06/2015 9:33 am
(@paulitotavares)
Posts: 36
Trusted Member
Topic starter
 

Boa tarde

Agradecia se alguém me pudesse ajudar, estou mesmo em cima do tempo.

obgd

 
Postado : 28/06/2015 8:23 am