[Risolto] Popolare campi finestra dialogo

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

[Risolto] Popolare campi finestra dialogo

Messaggio da geovign »

Buona serata a tutti.
Non riesco a popolare i campi all'interno di finestra di dialogo con riferimento ad una scelta effettuata in una combobox.
Mi spiego meglio.
La combobox viene popolata con i codici (col A) relativi ai soli acquisti (col G); questo funziona. Scelto un codice, la macro dovrebbe popolare i campi sottostanti (data, prodotto etc.) nella finestra di dialogo con i dati presenti nella stessa riga del codice scelto, quindi collegati al codice scelto.
Ho fatto un paio di prove ma in entrambi i casi non funzionano, mi salta sempre il ciclo for impostato per la ricerca.
La macro incrimita è "associa_campi" all'interno di Mov_Fert.Mov_AcqFert; all'interno sono commentate le prove eseguite.
Qualcuno riesce a darci un occhio?
Saluti
Geo
Allegati
MovFert_combobox.ods
(28.34 KiB) Scaricato 95 volte
Ultima modifica di charlie il lunedì 18 marzo 2019, 14:40, modificato 2 volte in totale.
Motivazione: Aggiunta spunta verde
LibO 7 su LinuxMint 21
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Popolare campi finestra dialogo

Messaggio da patel »

La combo non contiene tutte le celle della colonna A a partire dalla riga 5 ma solo quelle che soddisfano certi requisiti, quindi per cercare la riga che contiene i dati non puoi sfruttare la posizione del codice nella combo ma devi cercare direttamente nel foglio
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Popolare campi finestra dialogo

Messaggio da geovign »

Buongiorno Patel,
provo e spero di farmi capire:
- Prova 1: Se quanto scelto nella combobox (item) coincide con una voce presente nella combobox, allora ricerco nella col A la cella con pari stringa; il valore assunto da " i " corrisponde alla riga e quindi a MyCounter.
- Prova 2: ricerco direttamente nella col A la cella con la stringa uguale quanto scelto nella combobox (item); il valore assunto da " i " corrisponde alla riga e quindi a MyCounter
Questo è il ragionamento che ho seguito, pensato soprattutto in funzione delle mie capacità di programmazione, molto basilari.
In entrambi i casi la macro non esegue la ricerca nella col A e non mi mostra alcun errore se non quando il codice passa alle righe successive, ovviamente perchè MyCounter non ha valore.
Saluti
Geo
LibO 7 su LinuxMint 21
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Popolare campi finestra dialogo

Messaggio da patel »

La prova 2 è quella corretta, ma MyCounter non ha valore perché il ciclo non viene eseguito, Lastrow è = 0, per conservare il suo valore lo devi dimensionare all'inizio insieme alle altre variabili global e SOLAMENTE lì.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Popolare campi finestra dialogo

Messaggio da geovign »

Mi sono accorto ora che la mia risposta al tuo primo post non è propriamente coerente con quanto da te scritto, ma comunque ci siamo intesi ugualmente.
Chiudo l'inciso.
Vero, non ho dimensionato LastRow. Perchè non mi ha dato errore? Le volte che mi dimentico di definirlo mi appare un messaggio.
Nelle variabili global mi devo limitare, nel caso specifico, a "LastRow as long" ? O posso anche inserire cose diverse, tipo definizioni comuni per tutte le subroutine (Doc=... , Sheet=... , LastRow = ... , etc.)?
Saluti
Geo
LibO 7 su LinuxMint 21
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Popolare campi finestra dialogo

Messaggio da patel »

le variabili che usi nelle varie sub mantengono il loro valore solo all'interno della sub, se vuoi utilizzarle anche nelle altre le devi dichiarare all'inizio prima delle sub, quindi potresti dichiarare global anche Doc, Sheet ... e valorizzarle una sola volta.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Popolare campi finestra dialogo

Messaggio da geovign »

Chiaro.
Saluti e grazie.
Geo
LibO 7 su LinuxMint 21
Rispondi