› Excel e gli applicativi Microsoft Office › Mancati controlli del Convalida
-
AutoreArticoli
-
buongiorno a tutti e grazie in anticipo per l'aiuto che potrete darmi.
Sulle celle A1:A20 di un foglio digito dei numeri; sulla cella A21 c'è la loro somma.
Sulle celle B1:B20 digito dei numeri; sulla cella B21 c'è la loro somma.
Poichè il totale della colonna B non deve superare il totale della colonna A, sulle celle B1:b20 ho impostato la regola di convalida $A$21>$B$21.
Funziona regolarmente, ma sulle celle della colonna B, se anzichè dare INVIO dopo la digitazione del numero, clicco col mouse su un'altra cella, il controllo non avviene e mi viene permesso l'inserimento del numero anche se questo determina che B21 sia maggiore di A21.Il mancato controllo avviene anche quando una formula determina il superamento di una regola. Come potete vedere nel file allegato, ho una situazione simile sulle colonne F e G, al di sotto delle quali ci sono le rispettive somme.
Nelle celle della colonna G c'è la regola di convalida che la somma di F deve essere maggiore di quella di G. Inoltre nella cella G1 c'è la formula =F1*3. Se in F1 si digita un numero, che grazie a tale formula dà un risultato che determina che il totale della colonna F sia maggiore della colonna G, questo non viene bloccato.Sbaglio qualcosa io oppure il clic del mouse nel primo caso e le formule nel secondo caso, esulano dai controlli del Convalida?.
grazie mille.
I.Allegati:
You must be logged in to view attached files.Ciao
In B21 la formula di convalida deve essere: <$A$21
Per l'altro problema non posso aiutarti a causa della mia "vecchia" versione di Excel (2010)
Ciao,
Mario
Mi spiace ma non mi risulta. Anche mettendo in B21 la regola di convalida indicata, digitando nella colonna B un numero che provoca il superamento del totale della colonna B rispetto alla colonna A, va tutto bene se dopo la digitazione del numero si preme INVIO e quindi non viene permesso l'inserimento del numero, se invece si clicca col mouse su un'altra cella il sistema permette l'inserimento del dato.
A nessuno torna?
grazie mille ancora
Ciao
Hai ragione. Non avevo letto bene la tua richiesta.
Occorre VBA. Nel Modulo del Foglio interessato inserisci questa macro
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("B21").Value > Range("A21").Value Then Application.Undo MsgBox "Tot.col.B non può essere maggiore di col.A" End If End SubNon consente l'inserimento, avvisa e cancella quanto scritto.
Fai sapere. Ciao,
Mario
Così funziona. In questo modo quindi non è più necessaria la regola di convalida perchè il codice va a confrontare il valore delle due celle indipendentemente da come il loro contenuto viene determinato, anche quindi se è il risultato di una funzione che era la mia seconda domanda.
Questo però significa che la convalida con l'opzione Personalizzato ha questo "buco" perchè anche proteggendo il foglio e sbloccando le celle su cui deve essere possibile digitare l'azione del mouse rende possibile digitare un numero che rende possibile superare a B21 superare A21.
Grazie mille ancora.
-
AutoreArticoli
