Condividi tramite

ESPORTARE VALORI LISTBOX

Anonimo
2021-08-29T20:16:47+00:00

Buonasera a tutti,

ho un quesito.

Vorrei esportare i valori multipli selezionati nella listbox della prima Userform nella listbox della seconda Userform, per effettuare un confronto dei soli valori

selezionati nella prima listbox.

Allego i tentativi fatti con i relativi risultati.

trattasi di Listbox con 3 colonne che prendono i dati con il metodo ROWSOURCE

Posso anche mandare il file

Grazie a tutti

Private Sub cmdConfronta_Click()
Dim i As Long

''''''''TENTATIVO PER ESPORTARE IN UNA SECONDA USERFORM I VALORI SELEZIONATI NELLA PRIMA USERFORM

UserForm2.Show

'''''1° TENTATIVO NON FUNZIONA
'
'For i = 0 To UserForm1.ListBox1.ListCount - 1
' If UserForm1.ListBox1.Selected(i) Then
' UserForm2.ListBox1.AddItem UserForm1.ListBox1.Selected(i)
' End If
'Next i

''''''2 ° TENTATIVO OTTENGO SOLO I NOMI E NON I VALORI

For i = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
If UserForm1.ListBox1.Selected(i) = True Then
UserForm2.ListBox1.AddItem UserForm1.ListBox1.List(i)
End If
Next i
End Sub

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2021-08-31T09:28:25+00:00

Ciao Pasquale,

Ciao Norman,

file caricato.

ecco il link:

https://1drv.ms/x/s!ApSGtK4enKjUh0VpeZS8A734kE4p?e=FZRoBh

Nel modulo di codice del Userform1, sostituisci il tuo codice con:

'========>>

Option Explicit

'-------->>

Private Sub cmdConfronta_Click()

UserForm2.Show 

End Sub

'-------->>

Private Sub cmdEsci_Click()

Unload Me 

End Sub

'<<========

Nel modulo di codice del Userform2, sostituisci il tuo codice con:

'========>>

Option Explicit

'-------->>

Private Sub UserForm_Initialize()

Dim LBox As MSForms.ListBox, LBox2 As MSForms.ListBox 

Dim i As Long, iCtr As Long 

Set LBox = UserForm1.ListBox1 

Set LBox2 = UserForm2.ListBox1 

LBox2.ColumnCount = 3 

With LBox 

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

        If .Selected(i) = True Then 

            LBox2.AddItem .List(i) 

            LBox2.List(iCtr, 1) = .List(i, 1) 

            LBox2.List(iCtr, 2) = .List(i, 2) 

            iCtr = iCtr + 1 

        End If 

    Next i 

End With 

End Sub

'<<========

Potresti scaricare il mio file di prova Pasquale20210831.xlsm

===

Regards,

Norman

Immagine

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2021-08-31T09:50:22+00:00

    Ciao Pasquale,

    Grazie Norman,

    sei sempre il numero uno!.

    Il file funzione alla grande!

    Grazie ancora e buona giornata

    Alla prossima

    Mi fa piacere che tu abbia risolto il problema e ti ringrazio per il cortese riscontro.

    Alla prossima.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2021-08-30T13:53:23+00:00

    Ciao Pasquale

    Capisco la necessità di esportare i valori multipli selezionati nella listbox della prima Userform nella listbox della seconda Userform per effettuare un confronto e sono qui per guidarti sul supporto più opportuno.

    Visto che menzioni una listbox, a meno ché Norman o qualcun altro sulla Community non ti aiuti, il supporto da contattare è quello di Technet perché tratta problematiche relative alle listbox e si avvale di strumenti specifici per risolvere il tuo problema:

    Supporto di Technet

    Forum di TechNet****(clicca su "Formula una domanda" in alto a sinistra oppure cerca nelle domande del Forum se il tuo problema è già stato trattato)

    Immagine

    Rimango a disposizione per ulteriori dubbi o domande.

    Buona giornata,

    Federica

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-08-29T23:19:07+00:00

    Ciao Norman,

    file caricato.

    ecco il link:

    https://1drv.ms/x/s!ApSGtK4enKjUh0VpeZS8A734kE4p?e=FZRoBh

    Saluti

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2021-08-29T23:01:08+00:00

    Ciao Pasquale

    ho un quesito.

    Vorrei esportare i valori multipli selezionati nella listbox della prima Userform nella listbox della seconda Userform, per effettuare un confronto dei soli valori

    selezionati nella prima listbox.

    Allego i tentativi fatti con i relativi risultati.

    trattasi di Listbox con 3 colonne che prendono i dati con il metodo ROWSOURCE

    Posso anche mandare il file

    Private Sub cmdConfronta_Click()
    Dim i As Long

    ''''''''TENTATIVO PER ESPORTARE IN UNA SECONDA USERFORM I VALORI SELEZIONATI NELLA PRIMA USERFORM

    UserForm2.Show

    '''''1° TENTATIVO NON FUNZIONA
    '
    'For i = 0 To UserForm1.ListBox1.ListCount - 1
    ' If UserForm1.ListBox1.Selected(i) Then
    ' UserForm2.ListBox1.AddItem UserForm1.ListBox1.Selected(i)
    ' End If
    'Next i

    ''''''2 ° TENTATIVO OTTENGO SOLO I NOMI E NON I VALORI

    For i = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
    If UserForm1.ListBox1.Selected(i) = True Then
    UserForm2.ListBox1.AddItem UserForm1.ListBox1.List(i)
    End If
    Next i
    End Sub

    Ti chiederei gentilmente di caricare il file problematico, dopo averlo depurato dei dati sensibili, su un servizio di condivisione di file, ad esempio Microsoft OneDrive o DropBox, e postare un link al file in una risposta qui.

    Per caricare il file su Microsoft OneDrive, vedi:

       Condividere file e cartelle di OneDrive

    Per caricare il file su DropBox, vedi:

    Come faccio a condividere file e cartelle in Dropbox?

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento