La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno
Volevo sapere se esiste una formula o una convalida dati che mi restituisca un messaggio operatore se salta una cella "campo obbligatorio"
ho allegato un file da esempio
grazie
ciao
devi specificare quali sono le celle
quelle gialle hanno una formula
perciò i campi da inserire obbligatori
dove si trovano?
Buongiorno
Ho allegato il file corretto i campi da inserire sono nel foglio carico e non nel magazzino
Ciao
seleziona le celle interessate DATI->CONVALIDA DATI->PERSONALIZZATO
nella barra della formula incolla
=CONTA.SE($E2:E2;"<>"&"")>=COLONNE($E:E)
poi vai su messaggio di errore e metti il testo che preferisci ....io ho messo "inserire correttamente i dati"
dai OK
ciao
Ciao Danilo
non è che sia il caso di fare una macro che obblighi l'inserimento?
se io non scrivo su nessuna cella non succede niente
Ciao andrearosti67.
Tempo fa avevo sviluppato questa macro su 6 celle predefinite. Però il controllo viene effettuato solo quando si tenta di salvare la cartella. Nel tuo caso sarebbe più corretto attivarla sia quando si esce dal foglio sia quando si tenta i salvare la cartella.
Naturalmente non si può effettuare per WorkSheet/Change/Target o similari perché ad ogni cambiamento partirebbe l'istruzione. Ho provato a inserirlo nel tuo progetto ma mi da errore RunTime 13. Bisognerebbe anche rendere variabile ultima colonna/riga (LC/LR) ed effettuare il controllo sull'intero range (Range(Cells(2, 1), Cells(LR, LC)).
Inoltre, se ricordo bene, dovrebbe essere necessario attivare Ole Automation in Strumenti> Riferimenti (non ne sono sicurissimo, dovrei riprendere in mano il progetto).
Se non trovi la soluzione ci lavorerò un po'.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' 'se una delle 6 celle specificate non contiene dati, emette msg errore e non salva ' If WorksheetFunction.CountA(Worksheets(1).Range("D5,D7,D9,D11,D13, D15")) < 6 Then MsgBox ("La cartella non sarà salvata finché" & vbCrLf & _ "tutti i campi richiesti non conterranno un valore valido!") Cancel = True Exit Sub End If ' 'tutte le 6 celle specificate devono contenere un dato numerico ' For R = 5 To 15 Step 2 If Not IsNumeric(Cells(R, 4)) Or Cells(R, 4) = "" Then MsgBox ("La cella D" & R & " deve contenere un numero.") Cancel = True Exit Sub End If Next End Sub
ciao
emme
vediamo cosa dice Andrea
se va bene il metodo usato da Danilo
o se vuole altro ?
Bene, se la soluzione ti soddisfa per favore clicca su Risolto. Grazie.