| | Post: 1 | Registrato il: 15/03/2016
| Città: GUSSAGO | Età: 43 | Utente Junior | Ultima versione office365 | | OFFLINE | |
|
09/01/2020 17:39 | |
Buongiorno a tutti, avrei gentilmente bisogno di un'informazione.. è possibile nel file allegato, rendere obbligatoria la compilazione di tutte le celle una volta che sia stata compilata una riga? il file verrà gestito da varie persone e devo essere sicuro che chiunque aggiunge una riga, compili tutte le celle relative alla riga che sta aggiungendo... grazie. [Modificato da 80matrix 09/01/2020 17:41] |
|
| | Post: 4.311 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
09/01/2020 17:45 | |
Non c'è nessun file allegato
Alfredo |
| | Post: 2.490 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
09/01/2020 18:10 | |
Ciao
hai un unico modo: impedire la chiusura del file (evento BeforeClose) che controlli tutte se tutte le righe hanno i valori.
Tutti gli altri modi (avvisi - celle lampeggianti etc) sono palliativi che non impediscono di fatto di salvare un file con errori.
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 3.662 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
09/01/2020 19:37 | |
Buona sera a Tutti.
@80matrix, chiede:
Buongiorno a tutti, avrei gentilmente bisogno di un'informazione.. è possibile nel file allegato, rendere obbligatoria la compilazione di tutte le celle una volta che sia stata compilata una riga? il file verrà gestito da varie persone e devo essere sicuro che chiunque aggiunge una riga, compili tutte le celle relative alla riga che sta aggiungendo... grazie.
Personalmente sceglierei la compilazione dei Record tramite UserForm; in Userform potresti condizionare la Registrazione di un nuovo Record, o la modifica di un Record esistente, alla compilazione di tutti i Campi. Voglio dire, partirei con un Foglio di lavoro protetto da Password e affiderei la compilazione dei Record a UserForm; prima di registrare UserForm controlla che tutti Campi siano compilati. Il Foglio di lavoro protetto consente di registrare nuovi Record o modificare i Record esistenti solo tramite UserForm.
Ovviamente questo implica una discreta conoscenza di VBA.
In allegato un possibile modello di UserForm.
A disposizione.
Buona serata a Tutti.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 483 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Senior | 2016 | | OFFLINE |
|
09/01/2020 20:08 | |
Buonasera a tutti
Si può fare anche con la convalida dati
Seleziona da A2 a I1000 (ho visto il file su un'altro lido)
DATI
CONVALIDA DATI
PERSONALIZZATO
nella barra della formula incolla
=CONTA.VUOTE($A1:$I1)=0
quindi se ogni riga da A a I non è compilata la convalida non permetterà l'inserimento di nuovi record
saluti
|
| | Post: 2.491 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
09/01/2020 21:20 | |
Ciao a tutti
mi permetto ribadire quanto detto sull'utilizzo dell'evento beforeClose.
Non ci sono altri modi, stante la richiesta dell'utente.
saluti
Edit: ...e sempre che non ci sia qualche utente scaltro!!
[Modificato da dodo47 09/01/2020 21:38] Domenico
Win 10 - Excel 2016 |
| | Post: 3.663 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
10/01/2020 07:35 | |
Buona giornata, Domenico; perdonami ma, giusto per condividere una possibile soluzione, perchè non credi che Userform non consenta il risultato richiesto?
UserForm, tramite ComboBox, permette di utilizzare Tabelle dedicate che aiutano ad evitare errori di inserimento Dati.
Voglio dire, a fronte di una Tabella anagrafica avresti la sicurezza di inserire sempre un Nominativo corretto senza incorrere nell'errore di inserire: - Mario ROSSO al posto di - Mario ROSSI
L'inserimento di Mario ROSSO verrebbe accettato in quanto la Cella verrebbe popolata anche se il nominativo è errato. O mi sbaglio?
Grazie dell'attenzione che potrai dedicarmi.
Buona giornata.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.492 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
10/01/2020 12:20 | |
Caro Giuseppe
si, ma secondo me, a valle di tutto (userform va benissimo), bisognerebbe controllare comunque che l'archivio contenga tutte le righe piene.
E' solo per questo che, a prescindere dai vari metodi di alimentazione, suggerisco un controllo finale che impedisca la chiusura del file se....
tutto qua.
cari saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 3.664 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
10/01/2020 17:31 | |
Buon pomeriggio, Domenico; grazie della tua attenzione.
In realtà ero convinto che delegare a UserForm il controllo dei Record e registrare in un Foglio di lavoro protetto da Password solo quelli con tutti i Campi compilati fosse sufficiente; ora vedrò di seguire il tuo consiglio condizionando il salvataggio del File al controllo di coerenza di tutti i Record presenti nel DataSet.
Buona serata.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2.493 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
10/01/2020 17:36 | |
Giuseppe
noi siamo "vecchi" (io) del mestiere e sappiamo che la "fantasia" degli utenti è infinita.
Va sicuramente bene sottoporre a controlli l'immissione tramite userform dei dati necessari.
Però un controllino finale non lo vedrei male....
un caro saluto
Domenico
Win 10 - Excel 2016 |
| | Post: 3.665 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
10/01/2020 17:55 | |
Buon pomeriggio, Domenico.
Se non ti è di troppo disturbo, potresti indicarmi come pensavi di eseguire il controllo; non vorrei il Codice ma il metodo da utilizzare. Ho impostato un Ciclo For Each Next ma temo che su un DataSet piuttosto copioso il tempo di esecuzione sia impegnativo.
Hai qualche suggerimento alternativo?
Grazie dell'attenzione che potrai dedicarmi.
Buona serata.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 5.824 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
11/01/2020 07:55 | |
Ciao Giuseppe e Domenico, in primis il discorso della userform è buono per una coerenza dei dati come hai fatto notare con "Rosso-Rossi" ed anche per l'inserimento.
quello che dice Domenico è l'unica alternativa per come l'ha chiesta 80Matrix che non accetta celle vuote.
la realizzazione è semplice senza nessun artificio, sapendo l'area dei dati fai riga*colonna e poi un Conta:Valori() se non corrispondono ce una cella vuota da qualche parte.
ma è pur vero che come dice Domenico che la "FANTASIA" degli utenti è al disopra delle nostre capacità troveranno sempre il modo per sbagliare.
un esempio banale un apostrofo in una cella è sei fregato.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 3.667 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
11/01/2020 20:01 | |
Buona sera, @by sal; grazie della Tua attenzione.
Per quanto concerne: @by sal, in risposta #12, scrive;
un esempio banale un apostrofo in una cella è sei fregato.
Concordo con la tua obbiezione; ovviamente senza conoscere la struttura di tutti i Campi è impossibile proporre una possibile soluzione. In origine avevo pensato a ComboBox, o ListBox nel caso in cui le Voci siano in misura molto limitata, per i Campi ai quali poter applicare una Tabella, mentre per i Valori dei Campi inseriti tramite "Casella di testo" avrei condizionato l'inserimento ad un minimo di caratteri.
Voglio dire: - Nominativo ---> ComboBox - Codice fiscale ---> Valore ricavato dalla Tabella "Anagrafico" in funzione del Nominativo inserito - Analogamente per eventuale Indirizzo, CAP, Comune e quant'altro - Data appunntamento ---> Controllo sulla lunghezza del Valore inserito
Ma non vorrei proseguire oltre, facendo tesoro di quanto affermato da @DANILOFIORINI, che saluto,:
@DANILOFIORINI, in risposta #5 precisa:
... (ho visto il file su un'altro lido)
lascerei al "bagnino soccorritore dell'altro lido" la soluzione più appropriata.
Buona serata a Tutti.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 5.825 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
12/01/2020 09:28 | |
Ciao a tutti, ci stiamo affannando alla ricerca di una soluzione, ma noto un grande assente, l'autore della richiesta, credo che finché non ci risponderà sia inutile continuare.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 1 | Registrato il: 15/03/2016
| Città: GUSSAGO | Età: 43 | Utente Junior | Ultima versione office365 | | OFFLINE | |
|
12/01/2020 16:57 | |
Scusate a tutti il ritardo nella risposta.. E molte grazie per tutte le varie possibilità proposte..
Non essendo molto esperto di excel, per il momento ho adottato la soluzione che tramite formattazione condizionale, la cella successiva a quella compilata diventi di colore rosso se non la si compila.. Non è il massimo ma non so fare diversamente..
Il foglio verrà usato da Excel online tramite condivisione di un link da onedrive, quindi non so se soluzioni VBA poi possano funzionare su excel online.. (premetto che non conosco VBA)...
Quel beforeclose che ho letto è una formula oppure VBA?
Grazie molte a tutti!! |
|
|