ROTINA ADDALL DO LISTBOX1 PARA LISTBOX2

USUARIO.EXCLUIDOS 16/03/2004 13:48:08
#15608
Olá a todos.

Alguém, porfavor, poderia me ajudar com uma rotina onde seleciono + de 1 item de um listbox e através do botão transfero os mesmos para o listbox2, porém apagando-os do listbox1??? Utilizando FOR consigo somente adicionar, se removê-lo da o erro Invalid Property Index.

Não consigo encontrar uma alternativa, alguém teria uma sugestão a me dar???

Tks.
USUARIO.EXCLUIDOS 17/03/2004 15:40:35
#15759
Resposta escolhida
Esta rotina só precisa de uma alteração:

De:
================================================================

Private Sub cmd_add_all_Click()
Dim X As Integer
Dim var(100000)

'Adiciona o Procedimento Existente em Co-Participação
If lst_Existentes = "" Then
MsgBox "Efetue a pesquisa que retornará os Procedimentos!", vbInformation, "Importante"
Else
If lst_Existentes.SelCount = 0 Then
MsgBox "é preciso clicar sobre o Procedimento para adicioná-lo!", vbInformation, "Importante"
Else
For X = 0 To lst_Existentes.ListCount - 1
If lst_Existentes.Selected(X) = True Then
lst_Adicionados.AddItem (lst_Existentes.List(X))
lst_Existentes.RemoveItem (lst_Existentes.ListIndex)
End If
Next
End If
End If
End Sub


Para:
================================================================

Private Sub cmd_add_all_Click()
Dim X As Integer
Dim var(100000)

'Adiciona o Procedimento Existente em Co-Participação
If lst_Existentes = "" Then
MsgBox "Efetue a pesquisa que retornará os Procedimentos!", vbInformation, "Importante"
Else
If lst_Existentes.SelCount = 0 Then
MsgBox "é preciso clicar sobre o Procedimento para adicioná-lo!", vbInformation, "Importante"
Else
For X = (lst_Existentes.ListCount -1) to 0 step -1
If lst_Existentes.Selected(X) = True Then
lst_Adicionados.AddItem (lst_Existentes.List(X))
lst_Existentes.RemoveItem (lst_Existentes.ListIndex)
End If
Next
End If
End If
End Sub



Se usar o For...Next invertido, não tem problema...
Tópico encerrado , respostas não são mais permitidas