Ir para conteúdo
Fórum Script Brasil
  • 0

Interação entre ListBox e ComboBox


PBJ

Pergunta

Prezados,

Gostaria de apoio para desenvolver uma forma para interação entre dois ListBox e dois ComboBox da seguinte forma.

Aceito outras sugestões.

ListBox1 armazena as datas de todo um ano.

01/01/2009 a 31/12/2009

ComboBox1 armazena as horas do período de 24h.

00:00 a 23:00

ComboBox2 também armazena as horas do período de 24h

00:00 a 23:00

ListBox2 armazena as datas selecionadas na ListBox1 .

Ao selecionar uma data em ListBox1, o usuário deverá selecionar o horário de inicio e final nas ComboBox1 e 2, clicar em gravar e a data e horários transferidos para ListBox2.

Somente a conclusão do período de 24h a data deve ser removida da listBox1.

Exemplo:

O usuario pode selecionar o período de 00:00 a 14:00, podendo selecionar mais tarde selecionar outros horários a partir das 14:00 até concluir o período de 24h. Somente a conclusão do período de 24h a data selecionada na listBox1 seja removida.

A Listbox2 armazena a cada click de gravar a data e horários escolhidos pelo usuário.

Outro detalhe necessário e possibilitar a ListBox2 por meio de um botão resgatar as datas e seus respectivos horários para alterações.

Option Explicit

Private Sub UserForm_Initialize()

Dim lastRow As Long

Dim i As Integer

ListBox1.Clear

'Verifica qual a ultima linha preenchida

lastRow = Plan2.Range("A65000").End(xlUp).Row

'Adiciona datas na ListBox1

For i = 2 To lastRow

Me.ListBox1.AddItem Plan2.Range("A" & i)

Next

ComboBox1.Clear

'Verifica qual a ultima linha preenchida

lastRow = Plan2.Range("B65000").End(xlUp).Row

'Adiciona horas na ComboBox1

For i = 2 To lastRow

Me.ComboBox1.AddItem Format(Plan2.Range("B" & i).Value, "hh:mm")

Next

ComboBox2.Clear

'Verifica qual a ultima linha preenchida

lastRow = Plan2.Range("C65000").End(xlUp).Row

'Adiciona horas na ComboBox2

For i = 2 To lastRow

Me.ComboBox2.AddItem Format(Plan2.Range("C" & i).Value, "hh:mm")

Next

ListBox2.Clear

'Verifica qual a ultima linha preenchida

lastRow = Plan1.Range("A65000").End(xlUp).Row

'Adiciona datas na ListBox2

For i = 2 To lastRow

'Me.ListBox2.RowSource = "A2:C" & i

Me.ListBox2.AddItem Plan1.Range("A" & i)

Next

End Sub

Private Sub CommandButton1_Click()

Dim i As Integer

'Adicionar data da ListBox1 para ListBox2

For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then

ListBox2.AddItem ListBox1.List(i)

Plan1.Range("A65000").End(xlUp)(2, 1) = ListBox1.List(i)

End If

Next i

'Remover da ListBox1 a data

For i = ListBox1.ListCount - 1 To 0 Step -1

If ListBox1.Selected(i) = True Then

ListBox1.RemoveItem (i)

End If

Next i

End Sub

abraços,

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...