Bienvenido a la mayor comunidad de usuarios EXCEL

Regístrate ahora y podrás: / 💪 Hacer preguntas a los expertos / ⬇️ Descargar ejemplos y plantillas / 🏅 Acceder a contenidos premium

Regístrate gratis

Ayuda para rellenar filas

User_1_J

New member
Buen día, alguien me puede ayudar?, necesito rellenar una fila que depende de los datos de la fila anterior la cual tiene un rango pequeño, lo que hago primero es con buscarv, busco el dato de la celda de la fila anterior, sin embargo al utilizar el autofill causa que se llenen todas las celdas incluso las que no tienen dato en la fila anterior, estoy tratando de usar este comando "Selection.AutoFill Destination:=Range(Selection, Selection.Rows.Count - 1, 0), Type:=xlFillDefault" pero no me funciona, soy nueva en esto
 

User_1_J

New member
Hola,

No se alcanza a ver lo que pretendes hacer, sube un archivo con información necesaria para explicar el caso. Con un Antes y un después de lo que quieres lograr.

Saludos.
Mira aquí está el ejemplo, lo que pasa es que si defino el rango, no me sirve porque puede variar y si no lo defino se rellenan las filas automáticamente hasta la última del libro.
1617805358827.png1617805342258.png
 

Adjuntos

  • Libro1.xlsm
    149,2 KB · Visitas: 3

Leopoldo Blancas

Well-known member
Hola,

Para no modificarte mucho tu código... Prueba.

Código:
Sub Copiar()
    Dim nPaises%
    ThisWorkbook.Sheets("Datos").Activate
    Selection.End(xlToLeft).Select
    Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    nPaises = Selection.Count
    Selection.Copy
    Sheets("Hoja2").Select
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-1]C,Datos!R2C1:R24C2,2,FALSE)"
    Range("B3").Select
    'Con este funciona, pero se va hasta la última celda de excel
    Selection.AutoFill Destination:=Range(Selection, Cells(3, nPaises + 1)), Type:=xlFillDefault
End Sub


Saludos.
 

User_1_J

New member
Hola,

Para no modificarte mucho tu código... Prueba.

Código:
Sub Copiar()
    Dim nPaises%
    ThisWorkbook.Sheets("Datos").Activate
    Selection.End(xlToLeft).Select
    Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    nPaises = Selection.Count
    Selection.Copy
    Sheets("Hoja2").Select
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-1]C,Datos!R2C1:R24C2,2,FALSE)"
    Range("B3").Select
    'Con este funciona, pero se va hasta la última celda de excel
    Selection.AutoFill Destination:=Range(Selection, Cells(3, nPaises + 1)), Type:=xlFillDefault
End Sub


Saludos.
Muchas gracias, sí me funcionó :)
 

Temas similares

Arriba