Grazie mille! Il tuo consiglio è stato preziosissimo.
Sfruttando la tua idea, ho realizzato la funzione che restituisce un codice per ogni combinazione realizzata. Una precisazione.
intCarte() è l'array contenente le cinque carte sul tavolo e si presuppone che questo sia STATO ORDINATO in ordine crescente precedentemente!
Accetto qualsiasi consiglio su come possa migliorare questo algoritmo

codice:
Public Function ControllaCombinazioni() As Integer
    Dim intCarteUg As Integer   'Numero di carte uguali
    Dim intTot As Integer       'Numero totale di carte uguali
    Dim intGruppi As Integer 'Numero di gruppi
    Dim blnScala As Boolean 'True significa che ho una scala
    Dim intCont As Integer  'Contatore generale
    Dim intRet As Integer   'Valore di ritorno della funzione
    
    intRet = 0  'Nessuna combinazione
    
    'Controllo il colore
    'Affinché si abbia colore i resti delle divisioni per 4 delle varie carte, devono essere gli stessi
    For intCont = 0 To 3
        If (intCarte(intCont) Mod 4 = intCarte(intCont + 1) Mod 4) Then
            intRet = 6
        Else
            intRet = 0
            Exit For
        End If
    Next intCont
    
    'Controllo la scala
    'Affinché si abbia una scala dobbiamo avere che in valore assoluto, la sottrazione degli interi della divisione
    'della divisione per 4, di due carte successive deve essere 1.
    For intCont = 0 To 3
         If (Abs(Int(intCarte(intCont) / 4) - Int(intCarte(intCont + 1) / 4)) = 1) Then
            blnScala = True
        Else
            blnScala = False
            Exit For
        End If
    Next intCont
    
    'Verifica un eventuale scale reale o comune. La scala reale deve avere già un valore di intRet diverso
    'da zero dato dal controllo precedente del Colore
    If (blnScala And intRet > 0) Then
        intRet = 8
    ElseIf (blnScala And intRet = 0) Then
        intRet = 4
    End If
    
    'Se abbiamo già o colore o un tipo di scala, è inutile continuare con le successive verifiche
    If (intRet > 0) Then
        ControllaCombinazioni = intRet
        Exit Function
    End If
    
    'Controllo le restanti combinazioni
    'Controllo la 1ª con la 2ª, la 2ª con la 3ª, la 3ª con la 4ª, la 4ª con la 5ª.
    'Pertanto mi basta arrivare alla penultima carta
    intCarteUg = 1  'carta isolata
    For intCont = 0 To 3
        'Controllo se hanno lo stesso valore (in tal caso hanno medesima parte intera)
        If (Int(intCarte(intCont) / 4) = Int(intCarte(intCont + 1) / 4)) Then
            intCarteUg = intCarteUg + 1
        Else
            'Se le carte uguali sono maggiori di 1 (qundi almeno una coppia), le aggiungo
            'al totale delle carte uguali
            If (intCarteUg > 1) Then
                intTot = intTot + intCarteUg
            End If
            intCarteUg = 1
            intGruppi = intGruppi + 1 'Numero di gruppi
        End If
    Next intCont
    
    'Nel caso di una coppia alle ultime due carte, abbiamo intCarteUg=2, ma questa variabile non è stata
    'potuta aggiungere ad intTot, perchè il ciclo si ferma a 3, pertanto basta fare la seguente verifica
    If (intCarteUg > 1) Then
        intTot = intTot + intCarteUg
    End If

    If (intTot = 2) Then
        intRet = 1  'Coppia
    ElseIf (intTot = 3) Then
        If (intGruppi = 1) Then
            intRet = 5  'Full
        Else
            intRet = 3  'Tris
        End If
    ElseIf (intTot = 4) Then
        If (intGruppi = 1) Then
            intRet = 7  'Poker
        Else
            intRet = 2  'Doppia Coppia
        End If
    Else
            intRet = 0  'Nessuna combinazione
    End If
    
    ControllaCombinazioni = intRet
End Function