Come limitare l’orario di inserimento dei dati

Stefano deve assicurarsi che nessuno inserisca informazioni in un foglio di lavoro ogni giorno tra le 16:00 e le 18:30. Si chiede se sia possibile utilizzare la convalida dei dati per impedire a un utente di inserire informazioni in un foglio di lavoro in un determinato periodo della giornata.

In generale, ci sono due modi per farlo. Un approccio consiste nell’utilizzare la convalida dei dati per controllare l’ora e consentire o impedire l’immissione dei dati.

  1. Seleziona tutte le celle nel foglio di lavoro.
  2. Visualizza la scheda Dati della barra multifunzione.
  3. Fai clic sullo strumento Convalida dati nel gruppo Strumenti dati. Excel visualizza la finestra di dialogo Convalida dati.

 

Come limitare l'orario di inserimento dei dati 1

 

  1. Utilizzando l’elenco a discesa Consenti, scegli Personalizzato.
  2. Immetti quanto segue nella casella Formula:
=O(24*RESTO(ADESSO();1)<16;24*RESTO(ADESSO();1)>18,5)

 

  1. Apporta le modifiche nella scheda Messaggio di errore, come desideri.
  2. Fai clic su OK.

 

Il problema con questo approccio è nel primissimo passaggio: è necessario selezionare tutte le celle nel foglio di lavoro per fare in modo che i dati non vengano inseriti in nessuna di esse. Inoltre, se stai già utilizzando la convalida dei dati in una delle celle, questo approccio sovrascriverà tali impostazioni.

Per questi motivi, potrebbe essere meglio utilizzare un approccio basato su macro. Tutti questi approcci possono utilizzare gestori di eventi per verificare eventuali modifiche. Quanto segue si basa sull’evento Worksheet_Change, il che significa che viene attivato solo quando Excel rileva una modifica nel foglio di lavoro.

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

In sostanza, ogni volta che c’è un cambiamento nel foglio di lavoro, il gestore eventi controlla se è tra le 16:00 e le 18:30. In caso affermativo, viene visualizzata una finestra di messaggio per indicare l’errore, quindi viene utilizzato il metodo .Undo per eseguire il ripristino di qualsiasi dato si fosse tentato di modificare.

Se preferisci, puoi adottare un approccio diverso e proteggere il foglio di lavoro se rientra nell’orario “vietato”:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Il gestore dell’evento Worksheet_Activate viene richiamato ogni volta che il foglio di lavoro viene attivato (selezionato). Se il foglio di lavoro viene attivato in qualsiasi momento al di fuori del periodo vietato, non è protetto. Naturalmente, l’utente potrebbe ancora rimuovere manualmente la protezione del foglio di lavoro anche durante il periodo di divieto, quindi è una buona idea utilizzare questo approccio insieme a un approccio che viene attivato ogni volta che viene tentata una modifica, come discusso in precedenza.

 

LE SCHEDE TECNICHE DELLE FUNZIONI UTILIZZATE

Tags: , , , , , , , , , ,

Ti è stato utile?