Copiar datos de una hoja a la otra

Hola Buen Día
Otra vez acá pidiendo ayuda a los expertos.
Tengo una hoja con datos por ejemplo
Descripcion     Cantidad   Paquete    Lugar       Precios    etc
Foto 4x4            2                                              10
Foto 5x9                             1                             20
Fotos 10x20      30                            China       100
etc                     etc             etc            etc         etc          etc 
Necesitaría un macro que copie todos esos datos tal cual esta de una hoja1 a otra hoja2 y después los próximos datos que agregue me los agregue debajo del que esta en la hoja2 y que borre los datos de la hoja1
Desde ya Muchas Gracias

1 respuesta

Respuesta
1
Pasar todos los datos de una hoja a otra solo has de seleccionan la hoja copiarla y pegarla
luego para pasar de una hoja a otra dime donde introducirás los valores y te paso el código
si en la columna A lo tienes así
Descripcion     Cantidad   Paquete    Lugar       Precios    etc
¿Qué quieres que cuando entroduzcas los valores en la comunna B? Pasarlos debajo de los últimos
Confírmame si es eso y te paso el código
Hola Experto
Seria algo asi, este es el archivo http://goo.gl/8AqKr
Lo creo un Experto también, fue el primero, estaba buenísimo, porque era lo que pedí, después viendo los problemas que tenia, quería que este en la misma hoja, también me hizo otra macro que copia los datos en la misma hoja (ese archivo no te lo mando así no te confunde). También me encanto, ya el segundo archivo no lo cambio más, me quería así.
Pero me faltaría que esos datos que tengo en la hoja me los pase a otra hoja, tal cual como esta y no saque las celdas en blanco. O sea que lo único que faltaría a esa macro que pueda agregar más datos sin que me borre los datos anteriores que ingrese y que borre los datos que había en la hoja1.
Hice un macro que trate de hacerlos con los dos archivos que me hizo el experto, pero veo que tengo mucho que aprender de VB.
Así seria mi idea, lo único que no me sale de esa macro que me borra los datos que ingrese anteriormente.
Option Explicit
Sub Discriminar()
    Dim nFilaHoja1 As Long
    Dim nFilaHoja2 As Long
    nFilaHoja1 = 2
    nFilaHoja2 = ObtenerFilaResultado()
    'Recorremos todas las filas que tengan descripción
    Do While ActiveSheet.Cells(nFilaHoja1, 1).Value <> ""
        If ActiveSheet.Cells(nFilaHoja1, 2).Value <> "" Then
            'Si la celda "Catidad" tiene info, copiamos la fila a la Hoja2
            With Sheets("Hoja2")
                .Cells(nFilaHoja2, 4) = ActiveSheet.Cells(nFilaHoja1, 1)
                .Cells(nFilaHoja2, 5) = ActiveSheet.Cells(nFilaHoja1, 2)
                .Cells(nFilaHoja2, 6) = ActiveSheet.Cells(nFilaHoja1, 3)
                 ActiveSheet.Cells(nFilaHoja1, 1) = ""
                 ActiveSheet.Cells(nFilaHoja1, 2) = ""
                 ActiveSheet.Cells(nFilaHoja1, 3) = ""
            End With
            nFilaHoja2 = nFilaHoja2 + 1
        End If
        nFilaHoja1 = nFilaHoja1 + 1
    Loop
End Sub
Function ObtenerFilaResultado() As Long
    Dim nFilaHoja2 As Long
    nFilaHoja2 = 2
    Do While ActiveSheet.Cells(nFilaHoja2, 4).Value <> ""
        nFilaHoja2 = nFilaHoja2 + 1
    Loop
    ObtenerFilaResultado = nFilaHoja2
End Function
Solo me faltaría la poder copiarlo sin borrar los datos que ingrese anteriormente a la hoja2.
Gracias por contestarme, la pregunta
Haber si entiendo bien quieres pasar los datos de la hoja1 a la hoja2 sin borrar lo que ya pasaste a la hoja2
este código hace eso se sitúa en hoja2 rango D2 y pega los datos trasladando los que hay debajo
lo que no me quedo claro es si quieres borrar los datos de hoja1
Yo te lo agregue también si no quieres que te los borre eleimina las filas que te puse en negrita
Sub Discriminar1()
Sheets("hoja1").Select
ActiveSheet.Range("a2:c2", ActiveSheet.Range("a2:c2").End(xlDown)).Select
Selection.Copy
Sheets("hoja2").Select
Range("d2").Select
    Selection.Insert Shift:=xlDown
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Sheets("hoja1").Select
ActiveSheet.Range("a2:c2", ActiveSheet.Range("a2:c2").End(xlDown)).Select
Application.CutCopyMode = False
Selection = ""
Range("a2").Select
End Sub
Pruébalas y ya me cuentas si era eso lo que querías

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas