Macro para pasar datos de una hoja hacia otra hoja

Поделиться
HTML-код
  • Опубликовано: 8 ноя 2024

Комментарии • 29

  • @jeannineangulo663
    @jeannineangulo663 2 месяца назад

    Muchas gracias después de millón de tutoriales este fué el único que me ayudó

  • @soyalexforall
    @soyalexforall 10 месяцев назад +2

    La adapte a mi formato y funcionó, ojo, deberías hacer uno de ejemplo pero digamos que lo usa una empresa y de bajo de la tabla donde lo toma, des límites, ya que yo no conozco macro pero por la forma de la macro entendí que toma todo lo de abajo, hasta que aparezca vacío en lugar de un rango de la tabla que ya habías hecho, luego haré yo un vídeo, pero en el tuyo imagina que abajo de la tabla hay un texto estático que debe de firmar alguna persona o poner una fecha, yo ya lo hice pero pues le agregare algo adicional a la hoja 1 para que no me borre unas fórmulas que hice, pero a si está excelente entendí tu explicación, fue laborioso ya que ví otros tuyos pero no me sirvieron ni con chat gpt, y tu VIDEO ME AYUDO MUCHO gracias

  • @alfredobarrios6674
    @alfredobarrios6674 7 месяцев назад +1

    Excelente explicacion 10/10, Gracias

  • @errarogue
    @errarogue Год назад

    Hola, me gusto mucho, ahora puedes hacer uno para modificar esos datos

  • @enriqueespinosa8184
    @enriqueespinosa8184 2 года назад

    Hola,
    Requiero una asesoría personalizada para realizar una macro y usted cuenta con el conocimiento que yo necesito. Por favor dígame cómo podemos comunicarnos para discutir el costo de su asesoría. Escribo desde México.

  • @bekifel4722
    @bekifel4722 2 месяца назад

    Hola! Se pueden crear varias hojas con la macro y que se guarden en la base?

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  2 месяца назад

      @@bekifel4722 si, al final los datos se almacenan en una sola hoja, siempre y cuando esa sea tu intención

  • @oscarfernandofrutos3373
    @oscarfernandofrutos3373 Год назад

    Exclente. Mi consulta es: Como puedo volver a 1 el campo "NUMERO" al siguiente dia. Aplique este metodo a un registro de ventas.

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  Год назад

      Hola, tendrías que volverlo a seleccionar, pero en un sistema de ventas el registro de la cabecera siempre es único, y es registro uno se debería registrar solo una ves

  • @Alejandro-Carballo
    @Alejandro-Carballo 2 года назад

    Hola, profe.
    ¿Usted tiene algun curso de VBA desde cero? Estoy muy interesado en todo lo que enseña

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  2 года назад +1

      no tengo, pero lo puedo preparar desde donde se comunica ud?

  • @jeannineangulo663
    @jeannineangulo663 2 месяца назад

    Saludos, se puede utilizar esta macro con una base de datos ilimitada?

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  2 месяца назад

      @@jeannineangulo663 podrías mejor usar sql para almacenar más datos , excel ya cuando esta muy cargado se pone lento

  • @AgraUrcelay-fz1oi
    @AgraUrcelay-fz1oi 16 дней назад +1

    Ante todo. Muchísimas gracias por tu trabajo. A mí me está ayudando mucho.
    PERO….
    Tengo este problemilla: ( WsD.Cells(Ultfila, 8).Value = WsF.Cells("n, 1").Value) me da error y aparece en amarillo
    En mi hoja “Listado Albaranes” Que en tu caso es “BaseDatos”. Tengo 11 columnas, para rellenar, en la fila 2. Desde la celda A2 hasta la A7. Me las rellena bien, pero desde la A8 hasta la A11. NO ME RELLENA NADA
    En mi hoja “Albaranes” Que en tu caso es “Formulario” Tengo la cabecera: Nº Registro (A5), Albarán (C4), Fecha Albarán (C5), Factura (C6), Fecha Factura (C7), Proveedor (C8), y Estado (A7). ESTAS ME LAS GUARDA BIEN
    ¿Cuál puede ser el problema? ¿En que he fallado? ¿Cómo lo puedo solucionar?
    ------------------------------------------------------------------------------------------------------------------------
    Option Explicit
    Sub NewNum()
    Dim WsD As Worksheet
    Dim WsF As Worksheet
    Dim Ultfila As Long
    Dim MyArray As Variant
    Set WsD = Worksheets("Listado Albaranes")
    Set WsF = Worksheets("Albaranes")
    Ultfila = WsD.Cells(Rows.Count, 1).End(xlUp).Row
    If Ultfila > 1 Then
    MyArray = WsD.Range("A2:A" & Ultfila)
    WsF.Range("A5").Value = Application.WorksheetFunction.Max(MyArray) + 1
    Else
    WsF.Range("A5").Value = 1
    End If

    End Sub
    Sub Ingresa_Datos()
    Dim WsD As Worksheet
    Dim WsF As Worksheet
    Dim Ultfila, n As Long
    Set WsD = Worksheets("Listado Albaranes")
    Set WsF = Worksheets("Albaranes")

    If WsF.Range("A5").Value = Empty Or WsF.Range("C4").Value = Empty Or WsF.Range("C5").Value = Empty _
    Or WsF.Range("C6").Value = Empty Or WsF.Range("C7").Value = Empty Or WsF.Range("C8").Value = Empty _
    Or WsF.Range("A7").Value = Empty Then

    MsgBox ("Falta Ingresar Datos"), vbInformation, "Excel-VBA"
    Exit Sub
    End If

    Ultfila = WsD.Cells(Rows.Count, 1).End(xlUp).Row + 1
    n = 12


    Do While Not IsEmpty(WsF.Range("A" & n))
    WsD.Cells(Ultfila, 1).Value = WsF.Range("A5").Value
    WsD.Cells(Ultfila, 2).Value = WsF.Range("C4").Value
    WsD.Cells(Ultfila, 3).Value = WsF.Range("C5").Value
    WsD.Cells(Ultfila, 4).Value = WsF.Range("C6").Value
    WsD.Cells(Ultfila, 5).Value = WsF.Range("C7").Value
    WsD.Cells(Ultfila, 6).Value = WsF.Range("C8").Value
    WsD.Cells(Ultfila, 7).Value = WsF.Range("A7").Value
    WsD.Cells(Ultfila, 8).Value = WsF.Cells("n, 1").Value
    WsD.Cells(Ultfila, 9).Value = WsF.Cells("n, 3").Value
    WsD.Cells(Ultfila, 10).Value = WsF.Cells("n, 6").Value
    WsD.Cells(Ultfila, 11).Value = WsF.Cells("n, 8").Value

    Ultfila = Ultfila + 1
    n = n + 1
    Loop
    'Limpiar Datos
    WsF.Range("A5").Value = ""
    WsF.Range("C4").Value = ""
    WsF.Range("C5").Value = ""
    WsF.Range("C6").Value = ""
    WsF.Range("C8").Value = ""
    WsF.Range("C7").Value = ""
    WsF.Range("A7").Value = ""

    Ultfila = WsF.Cells(Rows.Count, 2).End(xlUp).Row
    If Ultfila > 11 Then
    WsF.Range("A12:H" & Ultfila).ClearContents
    End If
    'Nuevo Numero
    Call NewNum

    MsgBox ("Datos Guardados con exito"), vbInformation, "Excel-VBA"
    End Sub

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  14 дней назад

      @@AgraUrcelay-fz1oi ws.cells(n,1) sin comillas

    • @AgraUrcelay-fz1oi
      @AgraUrcelay-fz1oi 13 дней назад

      Muchas Gracias. Que fallo mas tonto he tenido. Mira que no me he dado cuenta del fallo, y eso que llevo varias horas en ello. pero gracias a ti ya lo tengo arreglado. ahora voy a por la macro limpiar datos de formulario y tabla. Un saludo

  • @ramirotorres5147
    @ramirotorres5147 Год назад

    Excelente como seria para que no se repita la cabecera

  • @beatrizrengifo5598
    @beatrizrengifo5598 15 часов назад

    hola utilice tu método y me funciono a la perfección, pero tengo una novedad al momento de guardar, como la tabla esta en blanco al momento de guardar me queda fuera de la tabla porque en el código se esta indicando (Ultfila = WsD.Cells(Rows.Count, 1).End(xlUp).Row + 1 ) que busque la ultima fila y sume una pero esta el encabezado de la tabla me lo esta tomando como la ultima fila y me suma una

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  2 часа назад

      Hola Primero crea esta función....
      ***********************************************
      Public Function NuevaFila_02(Ws As Worksheet, NombreTabla As String) As Long
      Dim Tbl As ListObject
      Set Tbl = Ws.ListObjects(NombreTabla)
      NuevaFila = Tbl.ListColumns(1).Range.Rows.Count + 1
      ' Si la tabla esta vacia, NuevaFila debera ser 2
      If NuevaFila = 3 Then
      NuevaFila = 2
      End If
      End Function
      *********************************************
      luego usala asi
      Ultfila =NuevaFila_02(ws,"TuTabla")
      **********************************************
      pasa que (Ultfila = WsD.Cells(Rows.Count, 1).End(xlUp).Row + 1 ) esto funciona cuando no es tabla cuando use una tabla usa la otra manera

  • @oscarfernandofrutos3373
    @oscarfernandofrutos3373 Год назад

    Hola. Tengo un archivo de PROVEEDOR con los campos CODIGO, DESCRIPCION Y PRECIO en Hoja1 y quiero actualizarlos con la lista de precios NUEVA que copio en hoja 2. Quisiera una Macro que compare los CODIGOS: Si existe que reemplace el precio y sino que lo AGREGUE. He intentado crearla pero estoy estancado. Desde ya muchas gracias

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  Год назад

      utiliza un ciclo for u otro anidado y primero actualiza los precios y en la hoja de pecios nuevos que se marque en una columna los códigos nuevos para luego copiarlos en la otra hoja

  • @CyberCyber-di1sh
    @CyberCyber-di1sh 3 месяца назад

    holaa, muy buen video, estoy creando un punto de venta solo que de la hoja de venta quiero guardar a una hoja en el mismo libro como base de datos y que se vaya guardando por el numero de la factura y la fecha, ya le intente con este video pero al parecer no me sale, abra alguna manera de que me puedas apoyar explicando en un video o por aquí, por favor, saludos!

    • @ExcelVBADMendoza
      @ExcelVBADMendoza  3 месяца назад

      @@CyberCyber-di1sh escríbeme a dennismendoza33@gmail.com

    • @CyberCyber-di1sh
      @CyberCyber-di1sh 3 месяца назад

      @@ExcelVBADMendoza ya te mande mensaje amigo, saludos!

  • @dcastilloc19
    @dcastilloc19 Год назад

    Hola, se puede tener acceso al archivo, el link adjunto no abre.

  • @andreamaulen6506
    @andreamaulen6506 Год назад

    No me resulta no me reconoce el Sub NewNum()