Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
sto cercnado il modo di ottenre dato un numero di colonna la relativa colonna in formato lettera
esiste un modo in vba ?
Public Sub m()
Dim s As String
s = Columns(1).Address
MsgBox s
End Sub
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)
Nel caso, aggiungo:
Public Sub m()
Dim s() As String
s = Split(Columns(1).Address, ":")
MsgBox Replace(s(1), "$", "")
End Sub
Questo evita complicati calcoli legati al valore ASCII della lettera e che *piegano le ginocchia* in Excel post 2003 ed in presenza di colonne tipo AV. ovviamente posso fare anche una funzione che faccia tutto questo:
Public Function f(ByVal lng As Long) As String
Dim s() As String
s = Split(Columns(lng).Address, ":")
f = Replace(s(1), "$", "")
End Function
Da utilizzare così:
Public Sub mm()
MsgBox f(35)
End Sub
NOTA. Non ho corretto il fatto che in Excel 2003 o in Excel 2007/2010 con il file salvato in modalità compatibilità(in pratica il .xls), passare un valore superiore a 256 dia errore. Non credo ci siano difficoltà particolari a risolvere il problema.
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)