Inputbox e gestione errori



  • Inputbox e gestione errori
    di Kipudda (utente non iscritto) data: 14/04/2016 18:18:54

    Ciao a tutti.
    Sono alle prese con la seguente macro, nella quale ho inserito una Inputbox.
    La routine gira correttamente, però vorrei aggiungere un’ulteriore istruzione per evitare
    messaggi di errore “indesiderati”; infatti, se chi utilizza la routine preme erroneamente il pulsante “Annulla” (all’interno della InpuBox) invece del tasto “OK”, oppure preme la “X” in alto a destra della finestra InputBox, appare un alert che segnala “errore di run-time ‘13’ – Tipo non corrispondente”.
    Come posso ovviare al problema? Potete aiutarmi con qualche esempio?

    Grazie!!
     
    Sub Pulsante197_FISSA_Click()
    
    Beep
    
    If Range("N46") = "" Then
    A = InputBox("Inserisci nella cella qui in basso l’importo della spesa" & _
    vbCrLf & "pagata in data x", "Sanzione versata separatamente (cella F29)", "")
    Range("N46") = CDate(A)
    
    Else
    
    A = MsgBox("Vuoi cancellare la data indicata che" & vbLf & _
               "hai indicato prima (" & (Range("N46") & ")?"), vbYesNo, "Data spesa")
               
    If A = 6 Then
    Range("N46") = ""
    
    End If
    End If
    
    End Sub



  • di alfrimpa data: 14/04/2016 19:44:16

    Ciao Kipudda

    Potresti provare con

    On Error Resume Next

    che salta all'istruzione successiva a quella che ha generato l'errore oppure

    On Error GoTo errore dove errore sono un insieme di istruzioni per la gestione dell'errore stesso

    La parte di codice a questo dedicata di solito è scritta prima dell'End Sub e va scritta in questo modo:

    errore:
    codice
    End Sub

    Comunque il tema della gestione degli errore è piuttosto vasto; fai qualche ricerca su Internet.

    Alfredo





  • di kipudda (utente non iscritto) data: 18/04/2016 17:09:39

    Ottimo! Ho utilizzato "on error resume next" e ho risolto il problema! Grazie mille!!!