Pagina 1 di 1
[Risolto] Filtro item listbox
Inviato: martedì 21 febbraio 2017, 21:38
da Luka2017
Buonasera
C'è una macro che tramite textbox filtro i dati di una listbox collegata ad un foglio calc, dove gli item sono collegati ad altri dati riga per riga.
Grazie
Re: Filtro item listbox
Inviato: mercoledì 22 febbraio 2017, 7:38
da patel
Le macro non si trovano già pronte, vanno costruite apposta in base alle necessità, quindi occorre un file di esempio corredato di spiegazioni dettagliate
Re: Filtro item listbox
Inviato: venerdì 24 febbraio 2017, 12:24
da Luka2017
Ciao ho creato un file di esempio e se gentilmente mi potreste aiutare a trovare la macro per scrivere sul textbox "cerca" quello che devo filtrare nella listbox e cliccando nella listbox mi da il riferimento giusto.
Grazie
Re: Filtro item listbox
Inviato: venerdì 24 febbraio 2017, 18:34
da patel
Non ho capito, potresti spiegare meglio ?
Re: Filtro item listbox
Inviato: venerdì 24 febbraio 2017, 18:47
da Luka2017
Ciao
Nel foglio calc ho un elenco che scrivo, dove riga per riga è presente un cliente diverso. Nel dialog è presente un listbox con l'elenco dei clienti salvati sul foglio. Cliccando ogni item del listbox appaiono nelle varie textbox i dati riferiti ad ogni item. Il mio problema è che non riesco a trovare una macro, che tramite un textbox scrivo il cognome o il nome del cliente ed in automatico la listbox mi fa apparire quello che scrivo nella textbox e cliccando l'item mi appaiono nelle altre textbox i dati come riportati nel foglio.
Re: Filtro item listbox
Inviato: venerdì 24 febbraio 2017, 21:06
da XLUPOGRIGIOX
Ciao,scusa ma vorresti che la textbox facesse quello che fa già la listbox?
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 8:20
da patel
lupo, la lisbox c'è già, forse volevi dire quello che fa già la ComboBox, facilmente ottenibile così
Codice: Seleziona tutto
For i =0 To 7
Percorso = Sheet.getCellByPosition(0, i).String
oDialogo1.getControl("ComboBox1").addItem(Percorso, oDialogo1.getControl("ComboBox1").ItemCount)
next i
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 9:25
da Luka2017
Grazie per le risposte ma il mio quesito è che nella listbox appaiono comunque i clienti ma tramite la textbox scrivo un cognome e nella listbox appaiono in base a quello che ho scritto nella textbox, e cliccando gli item filtrati nella listbox mi appaiono corretti i dati nelle altre textbox.
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 9:28
da Gaetanopr
A mio avviso è superfluo se ci fai caso posizionandoti sulla listbox e iniziando a digitare il cognome il cursore si posiziona sulla scelta effettuata da solo
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 9:32
da Luka2017
Si lo so ma siccome sono tanti gli item e bisogna scrivere velocemente allora siccome se ci fosse questa soluzione sarei grato.
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 9:45
da Gaetanopr
Va bene in questo modo? così appaiono solo quelli che digiti
Però in questo modo devi modificare la macro che riporta i dati nelle restanti textbox in quanto il selectedItemPos non corrisponde più ai dati disposti sul foglio
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 9:51
da Luka2017
Tra un po' ci provo e vi faccio sapere. Grazie mille intanto
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 11:16
da patel
buona idea Gaetano, forse meglio così
Codice: Seleziona tutto
Dim Sheet
Dim oDialogo1
Dim oComboBox
Dim oTextBox
Sub Trasf_Bc
Dim oComboBox as object
DialogLibraries.LoadLibrary("Standard")
oDialogo1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oDialogo1.Title = "Trasferimento Prodotti"
oDialogo1.getControl("TextField1").Enable = TRUE
oDialogo1.getControl("TextField2").Enable = FALSE
oDialogo1.getControl("TextField3").Enable = FALSE
oDialogo1.getControl("TextField4").Enable = FALSE
oDialogo1.getControl("TextField5").Enable = FALSE
oDialogo1.getControl("TextField6").Enable = FALSE
oComboBox = oDialogo1.getControl("ListBox1")
oTextBox = oDialogo1.getControl("TextField1")
Call Option_bc ' <<<<<<<<
oDialogo1.Execute()
oDialogo1.dispose()
End Sub
Sub Option_bc
Dim oCell
Dim a As String
Dim b As String
Dim oComboBox
oComboBox = oDialogo1.getControl("ListBox1")
Sheet = ThisComponent.Sheets(0)
oComboBox.removeItems(0,oComboBox.getItemCount())
Daric = UCase(oTextBox.Text)
Lungh = Len(Daric)
For i = 1 to 100
oCell = Sheet.getCellByPosition(0, i)
a = oCell.String
iF Lungh > 0 Then
if UCase(Left(Sheet.getCellByPosition(0, i).String, Lungh)) = Daric then
oComboBox.addItem(a, oDialogo1.getControl("ListBox1").ItemCount)
End If
else ' <<<<<<<<
oComboBox.addItem(a, oDialogo1.getControl("ListBox1").ItemCount) ' <<<<<<<<
End If
next i
End sub
Sub List_Ordine
Dim Sheet
Dim MyCounter
Sheet = ThisComponent.Sheets(0)
MyCounter = oDialogo1.getControl("ListBox1").selectedItemPos + 2
oDialogo1.getControl("TextField2").text = Sheet.getCellRangeByName("A" & MyCounter).String
oDialogo1.getControl("TextField3").text = Sheet.getCellRangeByName("B" & MyCounter).String
oDialogo1.getControl("TextField4").text = Sheet.getCellRangeByName("C" & MyCounter).String
oDialogo1.getControl("TextField5").text = Sheet.getCellRangeByName("D" & MyCounter).String
oDialogo1.getControl("TextField6").text = Sheet.getCellRangeByName("E" & MyCounter).String
End Sub
Gaetanopr ha scritto:Però in questo modo devi modificare la macro che riporta i dati nelle restanti textbox in quanto il selectedItemPos non corrisponde più ai dati disposti sul foglio
però non basta più inserire solo il cognome nel listbox
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 11:42
da Luka2017
Infatti quello che ho trovato complicazione è proprio sul selecteditempos. Come posso risolvere?
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 11:45
da Gaetanopr
patel ha scritto:buona idea Gaetano, forse meglio così
Patel dipende dall'esigenza di luka, pure io penso sia meglio far comparire tutto ma dal suo messaggio non lo capisco bene
Luka2017 ha scritto:ma il mio quesito è che nella listbox appaiono comunque i clienti ma tramite la textbox scrivo un cognome e nella listbox appaiono in base a quello che ho scritto nella textbox, e cliccando gli item filtrati nella listbox mi appaiono corretti i dati nelle a
Comunque basta remmare questa parte della macro
senza aggiungere else per funzinare la macro in tal senso.
Ho modificato la macro per far compilare correttamente anche le altre textbox
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 11:58
da Luka2017
Grazie mille siete degli Amici
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 11:59
da patel
risolto in modo molto semplice, complimenti
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 12:02
da Gaetanopr
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 12:03
da Luka2017
Lo so che questo non è un argomento ma ho visto che siete molto disponibili. Io non riesco ha trovare una macro per mandare le email senza client di un allegato dove i percorsi e l'email la scrivo nel foglio calc, ovviamente configurandolo con i miei dati SMTP user e password per poterla inviare. Mi potreste aiutare anche in questo?
Re: Filtro item listbox
Inviato: sabato 25 febbraio 2017, 15:59
da patel
[Risolto] Re: Filtro item listbox
Inviato: martedì 26 aprile 2022, 12:31
da Luka2017
Grazie mille come al solito
Re: Filtro item listbox
Inviato: martedì 26 aprile 2022, 19:16
da patel
qual'è la soluzione che hai adottato ?
Re: Filtro item listbox
Inviato: martedì 26 aprile 2022, 19:18
da Luka2017
Questo risolto è legato al filtro e non all'email