PREENCHER LISTBOX CONFORME CONDI?ÕES

GUIMATH 01/08/2016 16:28:24
#465379
Olá Galera!


Criei a rotina abaixo que percorrer vários Listbox e Labels, verificando o horário das labels com o da planilha de dados.

Até ai tudo certo, porém, eu preciso agora construir uma outra rotina ou outro laço para verificar os intervalos de horários. Exemplo, a rotina que criei localiza e preenche o horário de 06:00, conforme podem ver na imagem, porém o horário seria de 06:00 até 08:00, então nesse caso o listbox referente a 06:30, 07:00 e 07:30 também precisam ser preenchidos. Vejam a imagem para entender melhor




 Sub teste()

Dim lbl As MSForms.Label
Dim lbl2 As MSForms.Label
Dim lbx As MSForms.ListBox
Dim lbx2 As MSForms.ListBox
Dim k As Integer
Dim k2 As Integer
Dim j As Integer
Dim j2 As Integer

Dim Plan As Worksheet
Dim i As Double
Dim ii As Long
Dim lItem As Double
i = 2
a = 0

Set Plan = Sheets([Ô]agenda[Ô])
Sheets([Ô]agenda[Ô]).Activate


For ii = 2 To Plan.Range([Ô]A65536[Ô]).End(xlUp).Row

For j = 1 To 37
For k = 1 To 37

Set lbl = Me.Controls([Ô]Label[Ô] & k)
Set lbl2 = Me.Controls([Ô]Label[Ô] & k + 1)
Set lbx = Me.Controls([Ô]ListBox[Ô] & j)
Set lbx2 = Me.Controls([Ô]ListBox[Ô] & j + 1)

If Plan.Range([Ô]A[Ô] & ii).Value = lbl And Format(Range([Ô]B[Ô] & ii).Value) = LBAT1 Then

lbx.AddItem , Listindex
lbx.List(a, 0) = Range([Ô]E[Ô] & ii).Value
lbx.List(a, 1) = Range([Ô]R[Ô] & ii).Value
lbx.List(a, 2) = Range([Ô]H[Ô] & ii).Value
lbx.List(a, 3) = Range([Ô]I[Ô] & ii).Value

If lbx.List(a, 1) = [Ô]M[Ô] Then
lbx.BackColor = &HFFFF&
ElseIf lbx.List(a, 1) = [Ô]A[Ô] Then
lbx.BackColor = &HFF8080
ElseIf lbx.List(a, 1) = [Ô]PG[Ô] Then
lbx.BackColor = &HFF00&
ElseIf lbx.List(a, 1) = [Ô]C[Ô] Then
lbx.BackColor = &HFF&
End If

[ô]------
[ô] creio que a rotina que preciso deva ser aqui


[ô] termina teste

ii = ii + 1
j = j + 1
k = 1
End If

j = k + 1
Next k

Next j

Next ii


End Sub


O laço que eu necessito deveria fazer algo mais ou menos conforme a rotina abaixo, porém ele precisa pegar os valores corretamente, para nao preencher o mesmo listbox, nos meus testes ele preenchia o mesmo listbox sempre....

 If lbl2.Caption < lbx.List(a, 3) Then

If lbx.List(a, 1) = [Ô]M[Ô] Then
lbx2.AddItem , Listindex
lbx2.List(a, 0) = Range([Ô]E[Ô] & ii).Value
lbx2.List(a, 1) = Range([Ô]R[Ô] & ii).Value
lbx2.List(a, 2) = Range([Ô]H[Ô] & ii).Value
lbx2.List(a, 3) = Range([Ô]I[Ô] & ii).Value
lbx2.BackColor = &HFFFF&
ElseIf lbx.List(a, 1) = [Ô]A[Ô] Then
lbx2.AddItem , Listindex
lbx2.List(a, 0) = Range([Ô]E[Ô] & ii).Value
lbx2.List(a, 1) = Range([Ô]R[Ô] & ii).Value
lbx2.List(a, 2) = Range([Ô]H[Ô] & ii).Value
lbx2.List(a, 3) = Range([Ô]I[Ô] & ii).Value
lbx2.BackColor = &HFF8080
ElseIf lbx.List(a, 1) = [Ô]PG[Ô] Then
lbx2.AddItem , Listindex
lbx2.List(a, 0) = Range([Ô]E[Ô] & ii).Value
lbx2.List(a, 1) = Range([Ô]R[Ô] & ii).Value
lbx2.List(a, 2) = Range([Ô]H[Ô] & ii).Value
lbx2.List(a, 3) = Range([Ô]I[Ô] & ii).Value
lbx2.BackColor = &HFF00&
ElseIf lbx.List(a, 1) = [Ô]C[Ô] Then
lbx2.AddItem , Listindex
lbx2.List(a, 0) = Range([Ô]E[Ô] & ii).Value
lbx2.List(a, 1) = Range([Ô]R[Ô] & ii).Value
lbx2.List(a, 2) = Range([Ô]H[Ô] & ii).Value
lbx2.List(a, 3) = Range([Ô]I[Ô] & ii).Value
lbx2.BackColor = &HFF&
End If


End If

Faça seu login para responder