Su código de ejemplo se obtiene el número de fila de la última celda no esté en blanco en la columna actual, y se puede reescribir de la siguiente manera:
Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow
Es entonces fácil ver que el código equivalente para obtener la número de columna de la última celda no esté en blanco en la fila actual es:
Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn
Esto también puede ser de utilidad para usted:
With Sheet1.UsedRange
MsgBox .Rows.Count & " rows and " & .Columns.Count & " columns"
End With
, pero tenga en cuenta que si la columna A y/o la fila 1 están en blanco, esto no arrojará el mismo resultado que los otros ejemplos anteriores. Para obtener más información, lea en la propiedad UsedRange
.
@niko No es claro si desea la cantidad de columnas usadas (título de la pregunta), o la posición de la última columna utilizada (implicado por su 'código row')? – brettdj
@niko, un mejor método para encontrar la parte real de la hoja en vez de las variantes 'xlUp', o kludgy' UsedRange' es 'Find'. ver http://stackoverflow.com/questions/8283797/select-range-in-excel-vba/8283941#8283941 – brettdj