Modificar macro cambiando las celdas seleccionadas

Tengo la siguiente macro grabada

Sub OrdenarFecha()
'
' fecha Macro
' Acceso directo: CTRL+f
'
Range("B6:E31").Select
ActiveWorkbook.Worksheets("Detallle").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Detallle").Sort.SortFields.Add Key:=Range("C6:C31" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Detallle").Sort
.SetRange Range("B6:E31")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

El problama es que hoy los datos van hasta la fila 31, pero todos los dias agrego datos entonces necesito algo que seleccione desde la fila 6 hasta la ultima fila que haya datos ej 32,33,34 asi sucesivamente.

1 respuesta

Respuesta
1

Primero establece la última fila según la columna que tenga datos hasta el final, imaginemos que sea B:

x = Range("B" & rows.count).End(xlup).Row

Luego en todas las instrucciones donde indicas el rango utiliza esa variable, por ejemplo:

Range("B6:E" & x).Select

* Hay otros modos de buscar el fin de rango(podés leer más en sección Macros de mi sitio que dejo al pie), pero esta es la más segura si debajo de la última fila con datos no hay otro tipo de información.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas