no intendevo le cifre con _indice_ 0

Sei sicuro che si moltiplicano tutte per due??
Nel tuo codice c'è questo

codice:
If isEven Then
digits = digits & CINT( MID( ccnumero, i, 1)) * 2
Else
digits = digits & CINT( MID( ccnumero, i, 1))
End If
che mi fa pensare che tutte le cifre pari le moltipliche per 2 le altre invece no

Io semplicemente ti chiedevo se il tuo numero fosse
1234-5678-9012-3456

quali cifre moltiplichi per due? 1357913 e 5
oppure 2468024 e 6??