Bom dia, estou com um uma dúvida num loop que montei, se alguem puder ajudar agradeço, segue :
Exemplo :
01/05/2013
coluna 1
Gol 15/07/2007 00:00
Gol 15/07/2007 00:00
Gol 15/07/2007 00:00
Gol 15/07/2007 00:00
Gol 15/04/2010 00:00
Gol 15/01/2011 00:00
Gol 15/06/2008 00:00
Gol 15/08/2008 00:00
Gol 15/08/2008 00:00
Gol 15/09/2009 00:00
coluna 2 c3 c4
0 - 1 | -2 1
1 - 2 | 1 2
2 - 3 | 2 3
3 - 4 | 3 4
4 - 5 | 4 5
5 - 6 | 5 6
6 - 7 | 6 7
7 - 8 | 7 8
8 | 8 20
Então é assim, a coluna 1 faz o calculo com a data que eu colocar, armazena o valor ve qual a idade que o veiculo esta e armazena a quantidade na coluna 2, faz o loop ate achar todos da coluna 1. Consegui fazer uma macro so que ele localiza somente a primeira linha da coluna e para, segue :
Sub ClassificacaoChassisFaixaIdade()
Dim VarLin2, VarLin3, Idade
Dim DataChassis, DataCarroceria, VarChassisTipo
Dim Data As Date
VarLin2 = 5
VarLin3 = 9
'Inicia o Contador das linha de classificação
VarChassisTipo = Worksheets("Relatório - 01").Cells(VarLin2, 9)
DataCarroceria = Worksheets("Relatório - 01").Cells(VarLin2, 10)
Data = Worksheets("Relatório - 01").Cells(2, 2)
'Atribui a Variavel "Data" a data de processamento do Relatório
Idade = ((Data - DataCarroceria) / 12) / 30
'Calcula a idade do veículo ok mas somente armazena o valor da primeira linha e para a macro
Do Until VarLin3 > 18
'Não irá Fazer o Loop quando a variável "VarLin3" for maior 172
If VarChassisTipo = Worksheets("Banco_de_Frota").Cells(VarLin3, 8) Then
'Checa o tipo de Chassis/Carroceria
If Idade > Worksheets("Banco_de_Frota").Cells(VarLin3, 6) _
And Idade <= Worksheets("Banco_de_Frota").Cells(VarLin3, 7) Then
'Checa o a faixa de idade
Worksheets("Banco_de_Frota").Cells(VarLin3, 5).Value = _
Worksheets("Banco_de_Frota").Cells(VarLin3, 5).Value + 1
End If
End If
VarLin3 = VarLin3 + 1
Loop
End Sub
Postado : 26/05/2014 5:34 am