Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro controllare errori su foglio excel

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

Macro controllare errori su foglio excel

Postdi John21 » 11/05/17 13:08

Salve a tutti,
è il mio primo messaggio e non sono molto pratico con le macro.
Ora stavo provando ad automatizzare un controllo di formule e dati su excel, tipo quello che si fa con l'Error checking.
Però a parte un controllo visivo e l'error checking, che ho provato a iterare senza successo, non mi viene in mente altro.
Per il controllo dei dati, questi devono essere presenti in una determinata lista, e non riesco a scrivere bene il codice.
Vi posto quello che ho fatto in questo caso.

Sub ()
If ActiveCell.Offset(0, 0).Select = "lista dati" Then Exit Sub
Application.EnableEvents = False
Else
ActiveCell.Offset(0, 0).Select
Application.EnableEvents = True
Msg Box ("Non è un codice valido. Reinserirlo")
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Potete aiutarmi?

Grazie
John21
Newbie
 
Post: 4
Iscritto il: 08/05/17 23:21

Sponsor
 

Re: Macro controllare errori su foglio excel

Postdi wallace&gromit » 11/05/17 13:18

ciao e benvenuto nel forum,
non ho letto il resto, ma con active.cell.offset(0,0) non ti muovi mai dal punto di partenza!
devi mettere una variabile che vai ad incrementare.
Office2016 + 2019 su win10
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2054
Iscritto il: 16/01/12 14:21

Re: Macro controllare errori su foglio excel

Postdi Anthony47 » 11/05/17 14:59

Benvenuto nel forum anche da parte mia.

Ma in pratica tu che cosa vorresti fare? Come hai provato a farlo (qui penso che vale il tuo messaggio precedente)? Che risultato ti aspettavi? Che risultato hai invece ottenuto?

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

Re: Macro controllare errori su foglio excel

Postdi John21 » 11/05/17 19:22

Ciao ad entrambi.
Allora mi spiego meglio. Quello che ho intenzione di fare è creare un foglio excel, dove verranno inseriti dei codici tramite lettore a barre, che sia abbastanza sicuro. Cioè che le formule non saltino di punto in bianco, e che i dati non vengano corrotti.
Ora con quello che ho scritto, mi aspettavo solo di riuscire a verificare se il valore inserito apparteneva ad una lista o meno, e se così non fosse stato sarebbe apparso il messaggio di errore che faceva rimanere nella stessa cella bloccando altri inserimenti.
Il risultato è che non funziona. XD
John21
Newbie
 
Post: 4
Iscritto il: 08/05/17 23:21

Re: Macro controllare errori su foglio excel

Postdi Anthony47 » 11/05/17 23:43

Qualcosa ora e' piu' chiaro... Pero' quello che vorresti fare Excel lo fa gia' con la funzione "Convalida Dati"; hai gia' valutato questa opzione?
-crei l'elenco dei codici validi
-imposti la Convalida su Elenco, come Origine inserisci l'intervallo con l'elenco approvato, imposti il messaggio di errore, Ok

Fai sapere se vuoi ancora procedere con la macro di verifica.

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

Re: Macro controllare errori su foglio excel

Postdi John21 » 12/05/17 08:43

Si, avevo già provato così, inserendo un codice non valido mi mantiene comunque il valore e non appare il messaggio di errore.
Questa cella però non è un dato inserito, e non posso controllare quella di inserimento perchè contiene in tutta la stringa alcuni valori variabili per forza di cose, quindi mi sono affidato ad una cella di appoggio che mi calcola da formula la parte di stringa che mi serve.
Forse per questo non funziona la Convalida Dati?

Quindi pensavo di procedere con una macro...

Ciao
John21
Newbie
 
Post: 4
Iscritto il: 08/05/17 23:21

Re: Macro controllare errori su foglio excel

Postdi Anthony47 » 12/05/17 15:05

La funzione di Convalida serve per condizionare un input manuale in una cella; se la cella che vuoi monitorare e' il risultato di una formula allora la convalida non interviene.
Io comunque continuo a vedere nella Convalida la risposta al problema...
Dici che non puoi controllare la cella di inserimento perche' (da come ho capito) contiene parti che non sono prevedibili.
Si puo' allora usare la Convalida "personalizzata":
-supponiamo che si scriva in A2 e bisogna controllare che il risultato in M2 (calcolato in funzione di A2) sia presente in un certo elenco
-supponiamo che questo "certo elenco" sia in colonna W
-allora imposti una Convalida, Consenti = Personalizzato, come formula inserisci
Codice: Seleziona tutto
=CONTA.SE(W:W;$M2)>0
Imposti il "suggerimento" nel Messaggio di Input; imposti il Messaggio di errore; Ok

In questo modo quando si digita qualcosa in A2 e il risultato in M2 non e' in elenco avrai un messaggio di errore e l'input non viene accettato.

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

Re: Macro controllare errori su foglio excel

Postdi John21 » 13/05/17 00:30

Si esatto, la cella di inserimento contiene parti non prevedibili a priori.
Ok capito.Ti ringrazio.
Allora...ho provato anche così. Ma testandone l'efficacia, ho riscontrato che se inserisco un codice non valido non visualizzo alcun messaggio di errore ed accetta la strinda in input.
Ora, io avevo già inserito una convalida sulla lunghezza della stringa nelle celle in input. Può essere che sia questo il motivo?
Cioè, piochè si rispetta la convalida sulla cella in input, la convalida della cella "di controllo" non viene gestita adeguatamente?

Grazie
John21
Newbie
 
Post: 4
Iscritto il: 08/05/17 23:21

Re: Macro controllare errori su foglio excel

Postdi Anthony47 » 13/05/17 23:16

Probabilmente non l'ho detto chiaramente: la convalida di cui parlo va applicata alla cella che viene compilata da tastiera, non a quella che viene compilata tramite formula.
Dici che hai gia' impostato una convalida di lunghezza stringa, ma non so a che serve visto che in ogni caso la lunghezza non garantisce il risultato finale; quindi il mio suggerimento e' che inserisci "sulla cella di input" la convalida che ti ho detto e magari inserisci nel "Messaggio di input (della convalida)" l'informazione "Inserire una stringa di xx caratteri che corrisponda a yyy": l'utente quando si posiziona sulla cella vedra' il messaggio e se in ogni caso la cella calcolata non e' in elenco riceera' anche il messaggio di errore.

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


Torna a Applicazioni Office Windows


Topic correlati a "Macro controllare errori su foglio excel":


Chi c’è in linea

Visitano il forum: Nessuno e 55 ospiti