Jump to content


  • Posts

    • Hola @bigpetroman; muchas gracias por tu ayuda!. En realidad ya había realizado algo un poco mas manual y laborioso pensando de pronto que no iba a tener respuesta en el foro; sin embargo, voy a modificar el archivo que ya tenía, acomodándolo a tu propuesta la cual me parece bastante útil y más simplificado a lo que realice. Te  agradezco nuevamente por el tiempo que invertiste en la solución, la cual aporta bastante a mi objetivo.  Muchas gracias!  
    • Hola, que tal? Quisiera que me ayuden con esta macro, tengo un "Área_Consolidado" que contiene 04 hojas (Área_Uno, Área_Dos, Área_Tres, Tablas), la intención es  que mediante un "click",  pueda "copiar" ciertas hojas a NUEVOS LIBROS de la siguiente manera: Libro1 con nombre "Área_Uno", debe contener: hojas con nombre Área_Uno y Tablas) Libro2 con nombre "Área_Dos", debe contener: hojas con nombre Área_Dos y Tablas) Libro3 con nombre "Área_Tres", debe contener: hojas con nombre Área_Tres y Tablas) Aclaración: el libro "'Área_Consolidado" no debe alterarse.  Espero me puedan, ayudar.  Mariela
    • Hola @alexanderch Te dejo un archivo para que pruebes si es lo que necesitas. Es una modificación del archivo subido por @Mauricio_ODN Como te indicaran en la primera respuesta, tienes que indicar la ruta dónde dejar los archivos en la celda "D1" de la hoja "Directivo". Si te ayudó la colaboración recibida, puedes agradecerlo con un click en el corazón que se encuentra en la parte inferior derecha del comentario Suerte! ae20200701_post43715_RECIBOS PAGOS PRUEBA1.xlsb
    • Hola @JDG Es posible que la instrucción por evento Workbook_BeforeClose te ayude en algo, solo como sugerencia. Sigo atento. @AlexanderS siempre es un gusto leerte y compartir Master.
    • Lo siento, es que no me deja subir el archivo.  pero aquí adjunto la parte del código End Sub Private Sub Guardar_Click()   Dim fila As Long Dim duplicados As Boolean 'Obtener la fila disponible fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1 duplicados = False 'Validar si se han ingresado datos duplicados For i = 1 To fila     If Cells(i, 1).Value = UserForm1.TextBox1.Value Then         If Cells(i, 2).Value = UserForm1.TextBox2.Value Then             If Cells(i, 3).Value = UserForm1.TextBox3.Value Then                  If Cells(i, 4).Value = UserForm1.ComboBox1.Value Then                      If Cells(i, 5).Value = UserForm1.ComboBox2.Value Then                          If Cells(i, 6).Value = UserForm1.TextBox4.Value Then                                  'Se encontraron datos duplicados                 MsgBox "Datos duplicados en la fila " & i                 duplicados = True                                 End If             End If        End If     End If   End If End If Next i If Not duplicados Then     'Insertar datos capturados     Cells(fila, 1).Value = UserForm1.TextBox1.Value     Cells(fila, 2).Value = UserForm1.TextBox2.Value     Cells(fila, 3).Value = UserForm1.TextBox3.Value     Cells(fila, 4).Value = UserForm1.ComboBox1.Value     Cells(fila, 5).Value = UserForm1.ComboBox2.Value     Cells(fila, 6).Value = UserForm1.TextBox4.Value     'Limpiar cajas de texto     UserForm1.TextBox1.Value = ""     UserForm1.TextBox2.Value = ""     UserForm1.TextBox3.Value = ""     UserForm1.ComboBox1.Value = ""     UserForm1.ComboBox2.Value = ""     UserForm1.TextBox4.Value = ""      End If 'LLamar para ordenar datos Call ordenar    'LLamar para CopiarCeldas Call CopiarCeldas End Sub   Sub ordenar() Dim rangoDatos As Range Dim CampoOrden As Range Dim UltimaFila As Long UltimaFila = Sheets("Revision_TG").Range("A" & Rows.Count).End(xlUp).Row Set rangoDatos = Range("A2:U" & UltimaFila) Set CampoOrden = Range("A2") rangoDatos.Sort key1:=CampoOrden, order1:=xlDescending, Header:=xlYes End Sub Sub CopiarCeldas()   'Definir objetos a utilizar Dim wsOrigen As Excel.Worksheet, _     wsDestino As Excel.Worksheet, _     rngOrigen As Excel.Range, _     rngDestino As Excel.Range   'Indicar las hojas de origen y destino Set wsOrigen = Worksheets("Revision_TG") Set wsDestino = Worksheets("TG_Aprobados")   'Indicar la celda de origen y destino Const celdaOrigen = "A3" Const celdaDestino = "A2"   'Inicializar los rangos de origen y destino Set rngOrigen = wsOrigen.Range(celdaOrigen) Set rngDestino = wsDestino.Range(celdaDestino)   'Seleccionar rango de celdas origen rngOrigen.Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy   'Pegar datos en celda destino rngDestino.PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub   en el sub CopiarCelda, esta configurado para que copie todos los datos de la hoja Revisión_TG, pero lo que necesito es: 1. Luego de  registrar los datos en la hoja de origen, debo de seleccionar el rango de columnas a copiar. 2. ir a la hoja destino y antes de pegar el registro, se debe de ir a la fila final y bajar una fila más y pegar ahí. 3. Ordenar  los datos de manera descendente. Espero me puedan ayudar, les agradezco Mil!!!!!  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy