Ciao Roberto, sbagli riferimento, devi modificare la macro del DoppioClick, in quanto quando cerchi il ListIndex quello fa riferimento all'indice della listbox e non la riga del foglio, specialmente nella ricerca con filtro, in quanto i dati filtrati non necessariamente corrispondono alla riga del foglio.
a questo punto 2 possono essere le soluzioni,
la prima fare un ciclo che ricerca nel foglio l'applicazione e poi sapendo la riga del foglio ti estrae i dati,
la seconda più semplice, visto che hai già tutti i dati che ti interessano nella listbox, a questo punto riporti nelle celle i valori della listbox, ma attenzione i valori della listbox anche numerici o altro date, etc.. sono testo quindi quando vengono trasferiti sul foglio devono essere convertiti, ma tu li trasferisci in textbox quindi non sorge il problema.
questa la modifica dell'evento DoppioClick
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Riga = ListBox1.ListIndex
'MsgBox ("riga = " & Riga)
Sheets("Foglio1").Activate
Dim iRow As Integer
iRow = Riga
With ListBox1
TextBox51.Text = .List(iRow, 1)
TextBox52.Text = .List(iRow, 2)
TextBox53.Text = .List(iRow, 3)
TextBox54.Text = .List(iRow, 5)
End With
modifica = 1
End Sub
non ho toccato altro del tuo codice, allego il file
Ciao By Sal (8-D
[Modificato da by sal 09/11/2023 09:22]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie
clicca qui