Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Mauro,
nel frattempo che facevo la parte di leggi/scrivi ho voluto complicare un pochino le cose ed ho aggiunto sul foglio Tracciato la possibilità di avere anche dei campi con una valorizzazione fissa ed inoltre ho dato la possibilità all’utente di definire a suo piacimento percorso e nome file output ed alla fine ne è uscito quanto sotto riportato. Come dicevo prima sono sempre ben accettate critiche e revisioni.
<cut>
Per iniziare. Io utilizzerei la programmazione ad oggetti al posto di Select/Activate. E' più sicura e leggibile. Inoltre per trovare l'ultima colonna con un valore, terrei conto che post 2003 Excel ha ben più colonne. Esempio:
Public Sub m()
Dim shTrac As Worksheet
Dim shDati As Worksheet
Dim lCol As Long
Dim lRiga As Long
With ThisWorkbook
Set shTrac = .Worksheets("Tracciato")
Set shDati = .Worksheets("Dati")
End With
With shTrac
lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
MsgBox lCol
End With
With shDati
lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
MsgBox lRiga
End With
Set shDati = Nothing
Set shTrac = Nothing
End Sub
Nel caso tu voglia la lettera e non il numero della colonna:
Public Sub m()
Dim shTrac As Worksheet
Dim shDati As Worksheet
Dim sCol As String
Dim lRiga As Long
With ThisWorkbook
Set shTrac = .Worksheets("Tracciato")
Set shDati = .Worksheets("Dati")
End With
With shTrac
sCol = f(.Cells(1, .Columns.Count).End(xlToLeft).Column)
MsgBox sCol
End With
With shDati
lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
MsgBox lRiga
End With
Set shDati = Nothing
Set shTrac = Nothing
End Sub
Public Function f(ByVal lng As Long) As String
f = Split(Cells(1, lng).Address( _
True, False, xlA1, False), "$")(0)
End Function
--
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)