[Excel] Método de Relleno Automático en una macro
Resuelto
Arn's
Mensajes publicados
25
Estado
Miembro
-
pijaku Mensajes publicados 13513 Fecha de registro Estado Moderador Última intervención -
pijaku Mensajes publicados 13513 Fecha de registro Estado Moderador Última intervención -
Hola a todos,
En una macro, deseo utilizar el método Autofill para rellenar automáticamente ciertas celdas. El problema es que no conozco de antemano el número de celdas a rellenar.
Me explico:
Cuando utilizo un archivo1 (cuyas celdas A1 a A10 están llenas) para grabar mi macro, relleno las celdas B1 a B10 utilizando el controlador de relleno y obtengo entre otras la siguiente línea:
Pero cuando aplico la macro a un archivo2 cuyas celdas A1 a A15 están llenas, la macro solo me rellena las celdas B1 a B10.
Gracias de antemano por sus respuestas. Quedo a disposición para eventuales preguntas.
En una macro, deseo utilizar el método Autofill para rellenar automáticamente ciertas celdas. El problema es que no conozco de antemano el número de celdas a rellenar.
Me explico:
Cuando utilizo un archivo1 (cuyas celdas A1 a A10 están llenas) para grabar mi macro, relleno las celdas B1 a B10 utilizando el controlador de relleno y obtengo entre otras la siguiente línea:
Selection.AutoFill Destination:=Range("B1:B10") Pero cuando aplico la macro a un archivo2 cuyas celdas A1 a A15 están llenas, la macro solo me rellena las celdas B1 a B10.
Gracias de antemano por sus respuestas. Quedo a disposición para eventuales preguntas.
2 respuestas
Ah, está bien, ya encontré. Para tu información, solo hay que calcular N=número de filas y reemplazar 10 por N:
Dim NbLignes NbLignes = ActiveSheet.UsedRange.Rows.Count Range("B1").Select Selection.AutoFill Destination:=Range("B1:B" & NbLignes), Type:=xlFillDefault Range("B1:B" & NbLignes).Select
Hola,
Puedes utilizar esto:
Dim numlign As Integer
numlign = Sheets("Hoja1").Range("A65536").End(xlUp).Row ' devuelve el número de la última fila "no vacía" de la columna A
Selection.AutoFill Destination:=Range("B1:B" & numlign)
--
Atentamente,
-- Lo que vale la pena hacer, vale la pena hacerlo bien --
Puedes utilizar esto:
Dim numlign As Integer
numlign = Sheets("Hoja1").Range("A65536").End(xlUp).Row ' devuelve el número de la última fila "no vacía" de la columna A
Selection.AutoFill Destination:=Range("B1:B" & numlign)
--
Atentamente,
-- Lo que vale la pena hacer, vale la pena hacerlo bien --