Errore runtime 13



  • Errore run-time 13
    di RAF data: 26/10/2013 22:10:19

    Nella seguente macro

    Sub CONTROLLO_ACCONTO()
    Sheets("Inserimento dati").Select
    Range("F10").Select
    If Range("H3") = Range("N7") Then
    Sheets("Inserimento dati").Select
    Range("C3").Select
    MsgBox "ATTENZIONE SOCIO GIA' REGISTRATO PER ACCONTO TORNA A INIZIO INSERIMENTO"

    Else: Call COPIA_CONTEGGI_ACCONTO
    End If
    End Sub

    Alla riga:

    If Range("H3") = Range("N7") Then

    mi segnala Errore run-time '13': Tipo non corrispondente

    Perchè

    Grazie



  • di isy (utente non iscritto) data: 26/10/2013 23:00:31

    Ciao

    Ho testato il tuo codice e non ho rilevato nessun allarme
    Hai forse protetto il foglio o hai unito le celle?

    Prova a specificare meglio il valore da confrontare:
    If Range("H3").Value = Range("N7").Value Then

     
    Sub CONTROLLO_ACCONTO()
      Sheets("Inserimento dati").Select
      Range("F10").Select
      If Range("H3").Value = Range("N7").Value Then
        Range("C3").Select
        MsgBox "ATTENZIONE SOCIO GIA' REGISTRATO PER ACCONTO TORNA A INIZIO INSERIMENTO"
      
      Else: Call COPIA_CONTEGGI_ACCONTO: End If
    End Sub


  • Errore run-time 13
    di RAF (utente non iscritto) data: 26/10/2013 23:27:59

    Grazie Isy
    Ho provato ma il risultato non cambia
    Specifico:

    in "H3" ho il risultato di una selezione da una lista = alla lettera A

    in "N7" ho il risultato della seguente formula =CERCA.VERT($D$5;'DETTAGLIO COMPETENZE ACCONTO'!$A$6:$L$11;3;FALSO) = a #N/D -Risultato corretto

    Per tanto essendo A diverso da #N/D mi sarei aspettato che la macro continuasse con
    Else: Call COPIA_CONTEGGI_ACCONTO




  • di isy (utente non iscritto) data: 26/10/2013 23:58:58

    Ciao
    Devi in questo caso gestire l'errore...
    Vedi: If IsError(
     
    Sub CONTROLLO_ACCONTO()
      Sheets("Inserimento dati").Select
      Range("F10").Select
      If IsError(Range("N7").Value) Then
        MsgBox "Rilevato errore nella formula", vbCritical, "Avviso"
      ElseIf Range("H3").Value = Range("N7").Value Then
        Range("C3").Select
        MsgBox "ATTENZIONE SOCIO GIA' REGISTRATO PER ACCONTO TORNA A INIZIO INSERIMENTO"
      
      Else: Call COPIA_CONTEGGI_ACCONTO: End If
    End Sub


  • Errore run-time 13
    di RAF (utente non iscritto) data: 27/10/2013 17:04:38

    Ciao Isy
    Sono riuscito a risolvere cambiando la formula in cella "N7"
    da :
    =CERCA.VERT($D$5;'DETTAGLIO COMPETENZE ACCONTO'!$A$6:$L$11;3;FALSO)
    in :
    =SE(VAL.ERRORE(CERCA.VERT($D$5;'DETTAGLIO COMPETENZE ACCONTO'!$A$6:$L$11;3;FALSO));0;CERCA.VERT($D$5;'DETTAGLIO COMPETENZE ACCONTO'!$A$6:$L$11;3;FALSO))

    In questo modo il risultato da #N/D diventa 0 e la macro funziona

    Questo l'ho fatto prima di leggere la tua ultima risposta. Adesso ovviamente provo con il tuo suggerimento.
    Grazie molte
    RAF