Macro avviso importo errato



  • Macro, avviso importo errato
    di Gianluca (utente non iscritto) data: 11/11/2012 11:11:58

    Buongiorno, mi chiedevo se era possibile creare una macro che mi avvisi che sto inserendo in una colonna un valore superiore un un massimo che ho pre-stabilito. Ad esempio se il massimo che devo pagare per una bolletta è di 300 euro e inserisco un valore di 350 euro, interviene la macro ad avvisarmi. L'ideale sarebbe che mi faccia inserire lo stesso il valore ma che ogni volta che visualizzo quel foglio mi ricordi del valore errato, magari mediante il lampeggiamento della cella o qualcosa di più fattibile :)
    Grazie, Gianluca.



  • di Vecchio Frac data: 11/11/2012 13:35:25

    Per l'avviso all'inserimento di un valore errato, te la cavi con una semplice convalida dei dati, senza bisogno di macro.
    Per la specifica "l'ideale sarebbe che..." è lievemente meno immediato, ci vuole del codice VBA e ti serve, in sostanza, che ogni volta che accedi (attivi o apri) quel foglio, venisse fatto un controllo del valore della cella, scatenando l'opportuno avviso all'utente.





  • di HarryBosch data: 11/11/2012 13:41:17

    Ciao Gianluca
    potresti risolvere anche senza scomodare il vba.
    Ecco due possibilità:

    - usi la "convalida dati" (menù dati per la versione 2007) e imposti i criteri di inserimento; ad esempio puoi dire all'intera colonna, che un valore >350,00 non possa essere inserito. Puoi anche impostare un messaggio di informazione e un messaggio di errore

    - oppure, se come la seconda ipotesi vuoi comunque scrivere il valore anche se errato e quindi evidenziare la cella, puoi usare la "formattazione condizionale"; assegni questa alla colonna interessata dicendo che i valori >350 dovranno essere evidenziati (in un colore a tua scelta)

    Se apri i relativi menù per le due ipotesi dovrebbe tornarti abbastanza intuitivo svolgere tutti i passi.

    il lampeggio delle celle rimane possibile solo con il vba, ma forse potrebbe andar bene già l'evidenziazione delle celle errate



  • di HarryBosch data: 11/11/2012 13:42:45

    O.T.
    Ecco! Ho perso un altro vasetto ^_^



  • di Vecchio Frac data: 11/11/2012 13:42:56

    Ah, ottima la pensata alla formattazione condizionale, a me non è venuta in mente ma è una splendida idea.
    Perfetto anche visualmente e così eviti del tutto di ricorrere al codice ^_^





  • di Gianluca (utente non iscritto) data: 12/11/2012 09:19:46

    Grazie, la formattazione condizionale è più che sufficiente
    Inserire una MsgBox (che richiama l'attenzione nel momento in cui si inserisce un valore superiore a 300€ ) da abbinare alla formattazione condizionale, richiede molto tempo? altrimenti lascio stare.
    Grazie ancora, Gianluca



  • di HarryBosch data: 12/11/2012 10:49:08

    Non richiede molto tempo.
    Bisogna solo intercettare l'evento change della colonna interessata; e porre l'istruzione che nel momento in cui il valore inserito sia maggiore di x allora si apra un'userform con il messaggio voluto.

    TI allego un semplice file di esempio; dovresti riuscire ad adattarlo facilmente: se apri il codice, che si trova nel modulo del foglio1, puoi vedere la colonna di riferimento e il valore utilizzato come criterio.

    Puoi sbizzarrirti a piacere per l'userform che deve apparire.



  • di HarryBosch data: 12/11/2012 18:37:06

    Ti ho allegato un file con la macro e la userform, ma in realtà già la convalida dati eseguiva alla perfezione quello che chiedevi:
    bastava agire semplicemente sulla finestra del messaggio, impostando lo "stile" di inserimento voluto.

    Se inserisci la convalida lungo la colonna, e consenti ad esempio tutti i valori da 0 a 350,
    nella finestra del messagio di errore hai poi la possibilità di scegliere fra 3 opzioni:
    - interruzione: in questo caso non puoi inserire nessun numero al di fuori del criterio
    - avviso: in questo caso puoi scegliere se confermare o rienserire il valore, o annullare l'operazione
    - informazione: abbastanza similare al precedente, con la possibilità di confermare o annullare



  • di Gianluca (utente non iscritto) data: 13/11/2012 08:59:12

    Si infatti, ho provato la convalida dati e va alla perfezione uso questa che per me è molto più semplice grazie ancora.
    Saluti Gianluca.