Quello che dovrebbe fare il database è:
1. dopo aver popolato il foglio1 con dei dati prelevati da una maschera, dovrebbe partire la Macro1, la quale copia la colonna D del foglio1 nella colonna A del foglio4, mentre nella colonna B del foglio4 un altro codice mi inserisce la formula che mi restituisce un FALSO se il valore in A del foglio4 non è presente nella colonna A del foglio3, oppure restituisce un VERO
Questo mi pare sia fatto tutto da Macro1
2. fatto ciò, se sono presenti dei valori FALSO all'interno della colonna B del foglio4, allora deve comparire un messaggio che mi chiede se voglio aggiungere i nuovi dati oppure no.
Anche questo mi pare sia fatto da Macro1; cioe' si esamina ognuna delle righe presenti in Foglio4-col A, viene inserita la formula che inserisce
la stringa VERO oppure FALSO, e immediatamente se presente FALSO mostra la UserForm1 (quella che chiede se si vuole inserire i nuovi Stati)
3. se dico di si, allora si apre una maschera dove trovo una textbox con il nome del dato da inserire, una combobox dove selezionare la categoria, un pulsante inserisci che, se premuto, mi copi nel foglio3 nell'ultima riga vuota in A il valore della textbox ed in B quello della combobox.
P.S.: mi accorgo solo ora che al posto della userform, al punto 2 avrei potuto usare una msgbox, ma prima avevo impostato diversamente l'inserimento dei dati e poi è rimasto così.
Questa fase non e' chiara, in particolare non mi e' chiaro che cosa e' gia' fatto e che cosa si desidera venga fatto; puoi chiarire?
Poi immagino che per "il nome del dato da inserire" tu intendi il valore di colonna A per cui e' uscito FALSO e immagino che vorresti che il textbox venga compilato automaticamente, lasciando lo Status alla compilazione dell'utente; giusto o sagliato?
Infine mi chiedo se questa procedura e' la piu' semplice da gestire: ad esempio siamo sicuri che in quel momento (quando avvia Macro1) l'utente ha a disposizione tutte le informazioni che gli servono per completare l'inserimento dati, per tutte le righe che mostreranno FALSO? E cosa faresti per le righe su cui l'utente risponde No alla domanda "Vuoi aggiungere i nuovi Stati?"?
Non sarebbe piu' semplice che in Foglio3 col J (per esempio) venga preparato un elenco di Stati al momento mancanti, lasciando all'utente il tempo per compilare colonna K e poi a mano o con un'altra macro si va ad accodare questo elenco (solo le righe che hanno colonna K compilata) in colonna A:B?
In questo modo si potrebbe anche separare la copia dei dati da Foglio1 a Foglio4 e l'inserimento della formula con VERO /FALSO, dalla fase di verifica dei mancanti (FALSO) con creazione della lista in Foglio3-col J, dalla fase di correzione dati (aggiunta valore in col K), e infine dalla fase di aggiunta dei nuovi Stati e aggiornamento dell'elenco di colonna J.
Mi sembra un modo meno scenografico ma piu' efficiente per risolvere il problema.
O no?