Copiar datos omitiendo las celdas en blanco.
Tengo un código que me permite copiar y pegar unos valores desde otro libro, pero tiene un defecto al momento de existir una fila en blanco, ya que pega los valores a partir de la ultima fila con datos, pero si esta esta entre datos remplaza los de abajo.
Sub prueba()
Dim wbDestino As Workbook
Dim wbOrigen As Workbook
Dim hdestino As Worksheet
Dim horigen As Worksheet
archivo = Application.GetOpenFilename
If archivo = False Then Exit Sub
Workbooks.Open archivo
ThisWorkbook.Activate
Set wsDestino = Workbooks(ThisWorkbook.Name)
Set hdestino = wsDestino.Worksheets("Acumulado Ventas")
Set wsOrigen = Workbooks.Open(archivo)
Set horigen = wsOrigen.Worksheets("Ventas")
ufila = horigen.Range("A" & Rows.Count).End(xlUp).Row
ufila1 = hdestino.Cells(Rows.Count, "A").End(xlUp).Row
horigen.Range(Cells(2, "O"), Cells(ufila, "O")).Copy Destination:=hdestino.Cells(ufila1 + 1, 1)
horigen.Range(Cells(2, "A"), Cells(ufila, "A")).Copy Destination:=hdestino.Cells(ufila1 + 1, 2)
horigen.Range(Cells(2, "B"), Cells(ufila, "B")).Copy Destination:=hdestino.Cells(ufila1 + 1, 3)
horigen.Range(Cells(2, "C"), Cells(ufila, "C")).Copy Destination:=hdestino.Cells(ufila1 + 1, 4)
horigen.Range(Cells(2, "F"), Cells(ufila, "F")).Copy Destination:=hdestino.Cells(ufila1 + 1, 5)
horigen.Range(Cells(2, "G"), Cells(ufila, "G")).Copy Destination:=hdestino.Cells(ufila1 + 1, 6)
Workbooks(wsOrigen.Name).Close SaveChanges:=False
End SubPor ejemplo si existe una fila en blanco como esta

Los nuevos datos se pegaran a partir de la fila 6 y la idea es que no ocurra eso.
1 respuesta
Respuesta de Elsa Matilde
1
