USERFORM spostare copiare cancellare
Hai un problema con Excel? 
USERFORM spostare copiare cancellare
di egly87 data: 06/04/2017 22:25:22
Ciao a tutti,
Ho un problema con un user form.
Dovrei fare un userform con due listbox. Dovrei spostare da una listbox all'altra parole/stringhe e cancellarla dal listbox vecchia .
Ho creato il codice che ho scritto sotto che si attiva tramite un buttone_click.
Mi sposta la parola/stringa ma non me lo cancella e mi da errore.
Volevo capire se qualcuno di voli mi sa aiutare dove sto sbagliando!!!
vi ringrazio anticipatamente
Private Sub inserisci_Click()
Dim i As Long
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
Me.ListBox2.AddItem Me.ListBox1.List(i)
End If
Next i
For i = Me.ListBox1.ListCount - 1 To 0 Step -1
If Me.ListBox1.Selected(i) Then
Me.ListBox1.RemoveItem i
End If
Next i
End Sub
|
di Marius44 data: 07/04/2017 07:20:25
Ciao
dovresti provare con DUE pulsanti diversi. Con il primo sposti (e cancelli) da List1 a List2 l'elemento che hai selezionato, col secondo fai viceversa.
Vedi se le due routine sotto fanno al caso tuo. Praticamente il codice è uguale ma a ListBox invertite.
Fai sapere. Ciao,
Mario
Private Sub CB1_Click() 'sposta un elemento da sx a dx
If List1.ListIndex >= 0 Then
List2.AddItem List1.Text
List1.RemoveItem List1.ListIndex
End If
End Sub
Private Sub CB2_Click() 'sposta un elemento da dx a sx
If List2.ListIndex >= 0 Then
List1.AddItem List1.Text
List2.RemoveItem List2.ListIndex
End If
End Sub |
di somesif (utente non iscritto) data: 07/04/2017 10:46:59
Che errore hai con il codice che hai mostrato?
Anche se è ottimizzabile (usando un solo ciclo) non mi pare sbagliato.
di Albatros54 data: 07/04/2017 13:34:32
vedi questo Tutorial
h t t p://www.excelvba.it/corso/oggetti/EsempioRiepilogativo.mp4
ciao
albatros54
di egly87 data: 09/04/2017 23:10:08
sono riuscito a trovare la soluzione grazie a tutti
Grazie anche per il video è stato molto utile
di patel data: 10/04/2017 07:37:50
visto che hai trovato la soluzione potresti mostrarla sul forum ? potrebbe tornare utile ad altri.
di egly87 data: 01/05/2017 17:21:46
Eco la soluzione
Private Sub BTN_moveAllLeft_Click()
Dim iCtr As Long
For iCtr = 0 To Me.ListBox2.ListCount - 1
Me.ListBox1.AddItem Me.ListBox2.List(iCtr)
Next iCtr
Me.ListBox2.Clear
End Sub
Private Sub BTN_moveALLRight_Click()
Dim iCtr As Long
For iCtr = 0 To Me.ListBox1.ListCount - 1
Me.ListBox2.AddItem Me.ListBox1.List(iCtr)
Next iCtr
Me.ListBox1.Clear
End Sub
Private Sub BTN_MoveSelectedLeft_Click()
Dim iCtr As Long
For iCtr = 0 To Me.ListBox2.ListCount - 1
If Me.ListBox2.Selected(iCtr) = True Then
Me.ListBox1.AddItem Me.ListBox2.List(iCtr)
End If
Next iCtr
For iCtr = Me.ListBox2.ListCount - 1 To 0 Step -1
If Me.ListBox2.Selected(iCtr) = True Then
Me.ListBox2.RemoveItem iCtr
End If
Next iCtr
End Sub
|
Vuoi Approfondire?