Macro para copiar datos en otro libro en celdas especificas

Como puedo hacer una macro para una plantilla de excel para llevar libros contables

En el hoja uno tengo las partidas de diario y en la hoja 2 quiero hacer el mayor entonces quiero lo siguiente

Quiero que me traslade estos datos para el libro que dice mayor a un folio vamos a tomar de ejemplo la cuenta caja en la primera partida esta en la columna B y el monto esta en la DE entonces quiero que me traslade los datos para el otro libro si la cuenta esta en la columna b como es caja que me traslade los datos para la columna c así como se muestra en la según imagen, en la segunda partidad esta caja ota vez en la columna b por 5800 entonces debe trasladarla al otro libro en la columna c pero en la siguiente fila, y en la tercera partida caja esta en la columna c entonces debe trasladarla para la otra hoja en la columna de, y en la columna e va ir sumando o restando entonces quiero colocarle para cada cuenta por lo menos unas 25 filas, para hacer diferentes cuentas otra podría ser bancos y que haga el mismo procedimiento, así como se muestra en la tercera imagen

Ojala puedan apoyarme

Respuesta
2

Para crear una macro que transfiera los datos de la hoja "Partidas de Diario" a la hoja "Mayor" en un formato similar al que describes, puedes seguir estos pasos:

  1. Abre el Editor de Visual Basic en Excel presionando Alt + F11.
  2. En el Explorador de proyectos, busca el nombre del archivo o libro en el que deseas aplicar la macro y haz clic derecho sobre él. Selecciona "Insertar" y luego "Módulo".
  3. En el módulo de código, agrega el siguiente código:
Sub TransferirDatos()
    Dim wsPartidas As Worksheet
    Dim wsMayor As Worksheet
    Dim ultimaFila As Long
    Dim cuenta As String
    Dim monto As Double
    Dim filaDestino As Long
    ' Establecer las hojas de origen y destino
    Set wsPartidas = ThisWorkbook.Sheets("Partidas de Diario")
    Set wsMayor = ThisWorkbook.Sheets("Mayor")
    ' Última fila en la hoja de Partidas de Diario
    ultimaFila = wsPartidas.Cells(wsPartidas.Rows.Count, "B").End(xlUp).Row
    ' Iterar por cada fila en la hoja de Partidas de Diario
    For fila = 2 To ultimaFila
        cuenta = wsPartidas.Cells(fila, "B").Value
        monto = wsPartidas.Cells(fila, "DE").Value
        ' Determinar la fila de destino en la hoja de Mayor
        filaDestino = wsMayor.Cells(wsMayor.Rows.Count, "C").End(xlUp).Row + 1
        ' Transferir los datos a la hoja de Mayor
        wsMayor.Cells(filaDestino, "C").Value = cuenta
        wsMayor.Cells(filaDestino, "D").Value = monto
    Next fila
End Sub
  1. Asegúrate de cambiar los nombres de las hojas ("Partidas de Diario" y "Mayor") de acuerdo a tu archivo o libro.
  2. El código recorre las filas de la hoja "Partidas de Diario" y obtiene el valor de la cuenta en la columna B y el monto en la columna DE.
  3. Luego, encuentra la última fila utilizada en la columna C de la hoja "Mayor" y transfiere los datos a la siguiente fila disponible.
  4. Puedes ajustar el rango de filas en el bucle For según tus necesidades.

Después de agregar el código, simplemente ejecuta la macro "TransferirDatos" desde el menú "Macros" en Excel, y transferirá los datos de la hoja "Partidas de Diario" a la hoja "Mayor" según las especificaciones que mencionaste. Recuerda que debes tener las hojas y las columnas configuradas adecuadamente en tu archivo antes de ejecutar la macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas