Ricerca parte di stringa



  • Ricerca parte di stringa
    di Antorobot (utente non iscritto) data: 17/11/2017 15:43:14

    Buongiorno a tutti,

    Sono un principiante di VBA Excel e avrei bisogno del vostro aiuto per risolvere una parte di una macro.
    Il codice VBA che ho inserito sotto, funziona solo quando la cella prevista contiene "ODB16", ma si blocca per qualsiasi altro valore.

    Come posso scriverla perché funzioni anche con dati differenti nella cella?
    Tenete presente che il valore si può trovare in qualsiasi posizione della cella.

    Sostanzialmente vorrei tramutare in VBA la formula Excel =SE(VAL.NUMERO(TROVA("ODB16";AP13));"Modello 2";"Modello 1") dove AP13 è la Cella.Offset(0, 40)


    Grazie in anticipo
     
     If Mid(Cella.Offset(0, 40), InStr(Cella.Offset(0, 40), "ODB16"), 5) = "ODB16" Then
                        Modello = "Modello 2"
                        Else
                        Modello = "Modello 1"
     End If



  • di Zer0Kelvin data: 17/11/2017 18:11:08

    Ciao.
    La funzione InStr restituisce la posizione di una sottostringa all'interno di una stringa, se non trova la sottostringa restituisce 0.
    Quindi:
     
    If InStr(Cella.Offset(0, 40), "ODB16") > 0 Then
        Modello = "Modello 2"
    Else
        Modello = "Modello 1"
    End If



  • di Antorobot (utente non iscritto) data: 17/11/2017 18:29:50

    Fantastico
    Grazie 1000