Condividi:        

Non chiudere se range di celle è vuoto

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Non chiudere se range di celle è vuoto

Postdi CPAL » 28/03/14 17:53

Ciao,
avrei bisogno di aiuto.
Dovrei fare una macro che non permetta di chiudere il file, con tanto di messaggio di errore che dica di compilare le celle vuote, controllando quanto segue:
Se la Cella A3 non è vuota, tutte le celle da B3 a L3 devono essere compilate altrimenti non si può proseguire.
Inoltre le celle della colonna J non possono essere vuote.
Questo controllo deve essere fatto su tutte le righe da 3 a 500.
ovviamente se la cella A3 è vuota non succede niente.

Grazie in anticipo
Ciao
CPAL
Newbie
 
Post: 1
Iscritto il: 28/03/14 17:18

Sponsor
 

Re: Non chiudere se range di celle è vuoto

Postdi Anthony47 » 29/03/14 00:01

Ciao CPAL, benvenuto nel forum.
Il mio suggerimento e' che ti fai una colonna di servizio nel tuo foglio per controllare che ogni riga sia compilata correttamente.
Es in Z3 potresti usare la formula =SE(A3<>"";CONTA.VUOTE(B3:L3);0)
Se "0" significa che la riga e' compilata correttamente (o vuota); se <>0 significa che e' ancora da compilare.
Copia poi Z3 verso il basso per tutte le righe del tuo foglio (quindi sembrerebbe fino a Z500); poi in Z1 scrivi =Somma(Z3:Z500)
Quindi un valore diverso da 0 in Z1 significa file incompiuto, che per te significa che non puo' essere chiuso.

Poi, da Excel:
-Alt-F11 per aprire l' editor delle macro
-cerca nel frame Progetto-VBAProject di sinistra la voce ThisWorkbook (o QuestaCartellaDiLavoro) ed espandila con doppioclick.
Inserisci quind nel frame vuoto di dx questa macro:
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Foglio1").Range("Z1") <> 0 Then
    MsgBox ("Il messaggio di errore che preferisci" & vbCrLf _
        & "Il file non puo' essere chiuso" & vbCrLf _
        & "Correggere")
    Cancel = True
End If
End Sub
Prova a questo punto a compilare un modulo con campi mancanti e verifica che la chiusura sia vietata.

Non commento sulla scelta di impedire a un utente di sbarazzarsi di un file nemmeno quando finisce la giornata lavorativa.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Non chiudere se range di celle è vuoto":


Chi c’è in linea

Visitano il forum: Nessuno e 141 ospiti