Utilizzo di Like



  • Utilizzo di Like
    di gpc (utente non iscritto) data: 14/08/2015 00:49:45

    Buona sera
    In una vostra discussione ho letto dell'utilizzo della proprietà Like da utilizzare come maschera di input per una TextBox.
    La routine riportava la seguente stringa per un codice fiscale.
    If x Like"[A-Z][A-Z][A-Z][A-Z][A-Z]]A-Z][0-9][0-9][A-Z][0-9][0-9][A-Z][0-9][0-9][0-9][A-Z]" Then
    Se inserita nella routine funziona perfettamente ma non ho trovato il modo di riferirmi a delle celle o delle variabili
     
    If TestL9 = 2 Then 'Controlla la quantità di caratteri
    'If Test9 Like "[sCAP2.Value-sCAP3.Value][sCAP4.Value-sCAP5.Value]" Then 'si riferisce a delle variabili String, NON FUNZIONA
    'If Test9 Like "[Cells(4,2)-Cells(5,2)][Cells(6,2)-Cells(7,2)]" Then 'si riferisce a delle celle, NON FUNZIONA
    'If Test9 Like "[A-B][C-D]" Then 'FUNZIONA
    MsgBox "OK"
    End If



  • di Luca73 data: 14/08/2015 08:10:59

    Ciao gpc
    La funzione like che riporti come esempio e che hai correttamente modificato in ultima istanza sono corrette e confrontano una stringa con un'altra stringa. la stringa di confronto come noti è racchiusa tra doppi apici " (all'inizio e alla fine).
    ora se vuoi riferirti alle celle non puoi inserire la definizione della cella all'interno dei doppi apici altrimenti il codice la riconosce come una stringa e a quel punto la utilizza tal quale per il confronto.
    Su tu vuoi confrontare che il carattere sia compreso tra quello indicato nella cella 4,2 e quello indicato nella cella 5,2 allora devi ricostruire la stringa esatta togliendo Cells(4,2) e Cells(5,2) dalla stringa stessa e facendo in modo che le parti della stringa vengano prese in successione.
    Piuttosto difficile a spiegarsi, capirai meglio guardando l'esempio sotto riportato.
    L'operatore & serve per giustapporre stringhe "Luca" & 70+3 = "Luca73"
    Ciao Luca

     
    If Test9 Like "[ " & Cells(4, 2) & "-" & Cells(5, 2) & "][" & Cells(6, 2) & "-" & Cells(7, 2) & "]" Then