Condividi:        

vab excel: ricavare numero colonna da lettera

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vab excel: ricavare numero colonna da lettera

Postdi karug64 » 14/12/19 10:54

Salve a tutti.

Devo affrontare questa problematica:

L'utente su una cella del foglio1 inserisce la lettera di una colonna (ad esempio "H" oppure "B" o anche "GX").
Avrei bisogno di ricavare il numero di colonna rispondente a quella lettera (Nell'esempio H = 8, B = 2, GX ..... )

C'è un modo veloce per ottenere questo risultato o devo caricarmi un array con tutti i nomi delle colonne e poii devo fare un ciclo for per cercare la colonna inserita ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vab excel: ricavare numero colonna da lettera

Postdi Marius44 » 14/12/19 12:27

Ciao
Prova ad adattare questa Function per le tue esigenze
Codice: Seleziona tutto
Public Function ColLett(Col As String) As Integer
    'trasformo la coordinata Colonna da Letterale a Numerica
    ColLett = ActiveSheet.Range(UCase(Col) & "1").Column
End Function


Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: vab excel: ricavare numero colonna da lettera

Postdi karug64 » 14/12/19 13:02

Grazie per la risposta.
La funzione proposta fa il contrario di quello che vorrei ottenere io.

Nel frattempo avevo scritto questa funzione (spartana, ma funzionante)

Codice: Seleziona tutto
Public Function colnum(Col) As Integer

colnumero = 0

Dim lett(26) As String
Dim colonne(30000) As String

lett(1) = "A"
lett(2) = "B"
lett(3) = "C"
lett(4) = "D"
lett(5) = "E"
lett(6) = "F"
lett(7) = "G"
lett(8) = "H"
lett(9) = "I"
lett(10) = "J"
lett(11) = "K"
lett(12) = "L"
lett(13) = "M"
lett(14) = "N"
lett(15) = "O"
lett(16) = "P"
lett(17) = "Q"
lett(18) = "R"
lett(19) = "S"
lett(20) = "T"
lett(21) = "U"
lett(22) = "V"
lett(23) = "W"
lett(24) = "X"
lett(25) = "Y"
lett(26) = "Z"


Z = 1
r = -1
For x = 1 To 100
   
    For y = 1 To 26
        r = r + 1
        If Z = 1 Then
            colonne(r) = lett(y)
        End If
       
        If Z = 2 Then
            For zz = 1 To 26
            r = r + 1
            colonne(r) = lett(y) + lett(zz)
            Next
        End If
       
       
        If Z = 3 Then
            For zz = 1 To 26
                For zzz = 1 To 26
                    r = r + 1
                    colonne(r) = lett(y) + lett(zz) + lett(zzz)
                Next
            Next
        End If
       
    Next y
     Z = Z + 1
Next x

For x = 0 To UBound(colonne)

    If colonne(x) = Col Then
        colnum = x + 1
        Exit Function
    End If
   
Next x

End Function
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vab excel: ricavare numero colonna da lettera

Postdi Marius44 » 14/12/19 13:30

Ciao
Hai chiesto
L'utente su una cella del foglio1 inserisce la lettera di una colonna (ad esempio "H" oppure "B" o anche "GX").
Avrei bisogno di ricavare il numero di colonna rispondente a quella lettera


E quello che ti ho proposto cosa fa? Trasformo la coordinata Colonna da Letterale a Numerica.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: vab excel: ricavare numero colonna da lettera

Postdi karug64 » 14/12/19 14:05

Scusami !!!! :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

Hai proprio ragione. Fa quello che ho chiesto in una sola riga....

Preso dal lavoro non ho letto con attenzione la soluzione.

Grazie Marius!!!
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "vab excel: ricavare numero colonna da lettera":


Chi c’è in linea

Visitano il forum: Nessuno e 30 ospiti