Macros que copie datos específicos de una HojaY a otro Libro HojaX y las ordene una debajo de otra en filas consecutivas.

Dante Amor.

Una vez mas incomodando con mis preguntas en referencia a la anterior Macros, Me preguntaba como se le podría modificar, para que al momento de insertar mis datos en mi HojaY, estos se copien en un libro diferente de HojaX.

Ademas de indicar que cuento con varias libros con diferentes nombres pero que tienen en común la misma hojaY, por lo que al registrar los datos ya mencionados, en los distintos libros todos estos se copien en el Mismo Libro nuevo de HojaX, una debajo de otra segun sea el orden de ingreso.

Dejo la macros antes compartida por usted. Y el link del mismo.

Macros que me acumule Datos en filas consecutivas una debajo de otra de una hoja por, Datos colocados en un formato de hoja Y.

Sub Registrar()
'---
'   Por.Dante Amor
'---
    '
    Set h1 = Sheets("HojaY")                    'Hoja formato
    Set h2 = Sheets("HojaX")                    'Hoja destino
    '
    If h1.Range("H9").Value = "" Then
        MsgBox "Falta la categoría", vbExclamation
        Exit Sub
    End If
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    i = 15
    Do While h1.Cells(i, "C") <> ""
        'datos de cabecera
        h2.Cells(u2, "A") = h1.[H9]             'categoría
        h2.Cells(u2, "B") = h1.[H7]             'fecha emisión
        h2.Cells(u2, "C") = h1.[G5]             'factrura
        h2.Cells(u2, "D") = h1.[H5]             'de compra
        h2.Cells(u2, "E") = h1.[H8]             'atención
        '
        'continuar en esta parte con los demás datos
        '
        'datos de detalle
        H2.Cells(u2, "K") = h1. Cells(i, "C") 'num fila
 h2.Cells(u2, "L") = h1. Cells(i, "D") 'cant
 h2.Cells(u2, "M") = h1. Cells(i, "E") 'cant
 h2.Cells(u2, "N") = h1. Cells(i, "F") 'desc
 h2.Cells(u2, "O") = h1. Cells(i, "G") 'pu
 h2.Cells(u2, "P") = h1. Cells(i, "H") 'importe
        '
        'datos de resumen
        h2.Cells(u2, "Q") = h1.[H37]            'sub total
        h2.Cells(u2, "R") = h1.[H38]            'iva
        h2.Cells(u2, "S") = h1.[H39]            'total
        '
        u2 = u2 + 1
        i = i + 1
    Loop
    MsgBox "Datos Registrados"
End Sub

Saludos y gracias de antemano.. Por Todo..! Su tiempo..!

1 Respuesta

Respuesta
1

Te anexo la macro actualizada, cambia en esta línea el nombre del libro destino

    Set l2 = Workbooks("libro destino.xlsx")

Entiendo que tienes diferentes libros con la "hojaY" entonces deberás poner la macro en cada uno de ellos.

Cuando ejecutes la macro, deberás tener abierto el libro destino.

Sub Registrar()
'---
'   Por.Dante Amor
'---
    '
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("HojaY")                    'Hoja formato
    Set l2 = Workbooks("libro destino.xlsx")
    Set h2 = l2.Sheets("HojaX")                    'Hoja destino
    '
    If h1.Range("H9").Value = "" Then
        MsgBox "Falta la categoría", vbExclamation
        Exit Sub
    End If
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    i = 15
    Do While h1.Cells(i, "C") <> ""
        'datos de cabecera
        h2.Cells(u2, "A") = h1.[H9]             'categoría
        h2.Cells(u2, "B") = h1.[H7]             'fecha emisión
        h2.Cells(u2, "C") = h1.[G5]             'factrura
        h2.Cells(u2, "D") = h1.[H5]             'de compra
        h2.Cells(u2, "E") = h1.[H8]             'atención
        '
        'continuar en esta parte con los demás datos
        '
        'datos de detalle
        H2.Cells(u2, "K") = h1. Cells(i, "C") 'num fila
 h2.Cells(u2, "L") = h1. Cells(i, "D") 'cant
 h2.Cells(u2, "M") = h1. Cells(i, "E") 'cant
 h2.Cells(u2, "N") = h1. Cells(i, "F") 'desc
 h2.Cells(u2, "O") = h1. Cells(i, "G") 'pu
 h2.Cells(u2, "P") = h1. Cells(i, "H") 'importe
        '
        'datos de resumen
        h2.Cells(u2, "Q") = h1.[H37]            'sub total
        h2.Cells(u2, "R") = h1.[H38]            'iva
        h2.Cells(u2, "S") = h1.[H39]            'total
        '
        u2 = u2 + 1
        i = i + 1
    Loop
    MsgBox "Datos Registrados"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Buenas tardes, si esta muy bien la información compartida por su persona, y volviendo a incomodar con otra de mis preguntas. quería saber si se puede hacer lo mismo, pero con el libro de destino estando cerrado o abierto, y que luego la cierre. guardando la información al REGISTRARSE.

* y en esta parte de la macros como se editaría, para que la macro reconozca el resultado QUE ESTA A LADO DEL TEXTO "TOTAL", es decir "el valor numérico"

en la hoja macros, entiendo que el Valor numérico depende de la fila y columna como es en el imagen adjunto. [ h39 ], habría??? una opción de cambiar  para que ese resultado solo dependa de la columna y no de la fila ya que no necesariamente el resultado total esta debajo de la fila del resultado IVA", sino que este puede cambiar sus destino de fila constantemente.

Con mucho gusto te ayudo con todas tus peticiones, pero deberás crear una pregunta por cada petición; y en cada una de las peticiones específica con detalle y con ejemplos lo que necesitas; de esa forma la respuesta estaría o sería más completa.

Sal u dos

¡Gracias! 

Si es muy cierto eso, y claro que si. muchas gracias por responder a mi pregunta de forma breve

me ayudo bastante esta macros creada por usted.

Saludos.

Buen día.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas