Progressivo alfabetico

di il
2 risposte

Progressivo alfabetico

Buongiorno a tutti,
sto cercando il modo per calcolare un progressivo alfabetico (anglosassone) come nell'esempio:

contatore inizio: MAAA
+ 1 = MAAB, quindi MAAC e così via fino a MAAZ dopodiché MAA0, MAA1..., MAA9...
e quindi MBAA, MBAB, MBAC.... fino a M999 per poi passare a NAAA e così via... fino all'ultimo: Z999

purtroppo è una richiesta di SDA per numerare univocamente i colli e non so come fare!
ogni aiuto sarà apprezzato
grazie

2 Risposte

  • Re: Progressivo alfabetico

    Se hai un RANGE di progressivi puoi usare il parsing della stringa... ed incrementare il Codice ASCII della Lettera presa
    
    Function INCREMENTA(Testo As String, Optional NCHAR) As String
        ' GENERA DA 0÷z quindi da 48÷122 in ASCII
        Dim strTMP  As String
        strTMP = Mid$(Testo, Len(Testo) - 1)
        If Asc(strTMP) > 48 And Asc(strTMP) < 122 Then
            strTMP = Chr(Asc(strTMP) + 1)
            INCREMENTA = Mid$(Testo, 1, Len(Testo) - 1) & strTMP
        Else
            ' Chiami in ricorsione
            'devi passare al carattere -1
        End If
    End Function
    Ora sviluppa la logica di ricorsione per spostare il peso del CHAR da modificare
  • Re: Progressivo alfabetico

    Grazie Alex, ora proverò a capire qualcosa di quello che hai scritto e farò qualche prova...
    colgo l'occasione per RINGRAZIARTI per tutti i post che hai scritto e che mi hanno aiutato tantissime volte!!
Devi accedere o registrarti per scrivere nel forum
2 risposte