Jump to content

Maria_a.rodriguez_m

Members
  • Content Count

    6
  • Joined

  • Last visited

  • Country

    Colombia
  1. Hola, @Mauricio_ODN, vi las tres macros que agregaste. Esta supér perfecto!!!!! Muchísimas gracias Mauricio. en cuanto a la compatibilidad con Drive y que sea funcionable, la extensión xml, posría servirme?
  2. @Mauricio_ODN Muchas gracias!!!! Lo que pasa es que en la segunda hoja ya había información antes de la creación del formulario, y al momento de crearlo y hacer una copia del último registro, el código copiaba todos los registros sobrescribiendo en la información ya ingresada. Pero, con tu modificación me ayuda muchísimo. Muchas gracias por tu tiempo y dedicación!!!!!! Otra pregunta que me surge en este preciso momento, es que si yo necesito compartir esa base de datos con otras personas desde Drive, para que se ejecute como tal, ¿Qué extensión me podría servir?
  3. Hola, @Mauricio_ODN, te adjunto el documento via drive, gracias por tu pronta respuesta!!! https://drive.google.com/file/d/1h0LLY2B0EC35nQLLj3GcjASo7AwrSbpV/view?usp=sharing
  4. Hola, Muchas gracias! @Mauricio_ODN, si me permites te puedo compartir el archivo vía Drive.
  5. 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!!!!!
  6. Hola a todos, Muchas dar las gracias por los aportes y comentarios. Soy nueva en esto de la programación en VBA. Tengo un formulario que ingresa información básica, este formulario registra en una hoja principal llamada Hoja1 y ordena los datos de manera descendente, hasta ahí, todo en orden, lo que se me ha complicado en que el último registro que se realice en esta hoja debe de copiarse y pegarse en otra hoja y debe ordenarse de la misma manera ( descendente). es decir: 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!!!!!
×
×
  • Create New...

Important Information

Privacy Policy