Ayuda con un código- Macro para rellenar

nuevamente acudo a mi experto favorito =)

Tengo este código para rellenar automáticamente una formula, ¿pero cómo consigo que se detenga en el ultimo dato? La macro la tengo para que me rellene hasta la fila 200

Sub rellenar_formula()
' Keyboard Shortcut: Ctrl+r
Sheets("Sheet1").Select
Range("F8").Select
ActiveCell.FormulaR1C1 = "=R1C[-5]"
Range("F8").Select
Selection.AutoFill Destination:=Range("F8:F200") --->( aquí  es donde necesito ayuda)
Range("F8:F200").Select
Sheets("Sheet2").Select
Range("F8").Select
ActiveCell.FormulaR1C1 = "=R1C[-5]"
Range("F8").Select
Selection.AutoFill Destination:=Range("F8:F200")--->( aquí es donde necesito ayuda)
Range("F8:F200").Select

End Sub

1 respuesta

Respuesta
2

Según entendí, lo que necesitas hacer es cambiar el rango para el cual se van a copiar las formulas para lograr esto debes cambiar esta parte del código

...Destination:=Range("F8:F200")

 por esta otra

....Destination:=Range("F8:F" & Cells. SpecialCells(xlLastCell). Row)

de este modo, la formula se copiara hasta la fila de la última celda que se haya editado (la que se selecciona cuando pulsas Ctrl+FIN)

Adicionalmente te dejo el código modificado, con menos lineas = mayor 'efectividad'

Quedo pendiente de tu éxito. Saludos

Sub rellenar_formula()
''Modificada por FSerrano -nefese- en 120216
''Para JRLE1 en TodoExpertos.com
' Keyboard Shortcut: Ctrl+r
Sheets("Sheet1").Range("F8").FormulaR1C1 = "=R1C[-5]"
Sheets("Sheet1").Range("F8").AutoFill Destination:=Range("F8:F" & Cells.SpecialCells(xlLastCell).Row)
Sheets("Sheet2").Range("F8").FormulaR1C1 = "=R1C[-5]"
Sheets("Sheet2").Range("F8").AutoFill Destination:=Range("F8:F" & Cells.SpecialCells(xlLastCell).Row)
End Sub

 NO OLVIDES FINALIZAR Y PUNTUAR LA PREGUNTA

Gracias FSerrano por tu pronta respuesta! al hacer al cambio en el  código me rellena la formula hasta la fila 1000.... que estoy haciendo mal?  =(

Lo que ocurre con tu archivo es que en algún momento hubo valores en alguna celda de la fila 1000 (cuando pulses CTRL+FIN, se va a una celda de la fila 1000), la solución rápida es eliminar todas las filas vacías, ubicarse en una celda inicial (recomiendo A1), guardar el documento y volver a correr la macro. Si asi no funciona como lo requieres se debe establecer el limite de acuerdo a una celda especifica, me comentas cual es tu caso.

 ya quedo perfecto,  lo que hice fue copiar mi base de datos a un archivo nuevo y la macros funciona de maravilla!

Gracias Maestro JEDI!

Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas