Jump to content

tierra_pampa

Members
  • Posts

    344
  • Joined

  • Last visited

  • Days Won

    19

tierra_pampa last won the day on June 21

tierra_pampa had the most liked content!

4 Followers

About tierra_pampa

  • Birthday 03/16/1961

Contact Methods

  • Twitter
    @tierra_pampa

Profile information

  • Gender
    Hombre
  • Localización:
    Santa Rosa, La Pampa

Converted

  • Campos
    ;

Recent Profile Visitors

2,981 profile views

tierra_pampa's Achievements

  1. Hola @Gerardo Mojica!!! Convierte el archivo a extensión *.xlsm (para que puedas usar las macros) y agrega el código en el módulo de la hoja en la cual tienes la tabla. Completa un registro (columnas A:G) y fijate si te ayuda en tu búsqueda (primer punto de tu pedido). Suerte! Private Sub Worksheet_SelectionChange(ByVal Target As Range) cfila = 0: cfila = ActiveCell.Row If Not Intersect(Target, Range(Cells(cfila, 5), Cells(cfila, 7))) Is Nothing Then Cells(cfila, 8).Value = Cells(cfila, 2).Value & ".- " & Cells(cfila, 5).Value Cells(cfila, 9).Value = Cells(cfila, 3).Value & ".- " & Cells(cfila, 6).Value Cells(cfila, 10).Value = Cells(cfila, 4).Value & ".- " & Cells(cfila, 7).Value End If End Sub
  2. Hola@Micky Mendoza! Tu formulario carga bien en el evento ACTIVATE y no importan las columnas que quieres mostrar, cuando lo haces con la orden "RowSource". Si bien tu cargas los datos como "Tabla" te dejo otra forma de carga para los datos (para que vayas comparando las órdenes) Private Sub UserForm_Initialize() ufila3 = 0: ufila3 = Sheet3.Cells(Rows.Count, 2).End(xlUp).Row If ufila3 < 2 Then ufila3 = 2 Me.LISTA.RowSource = Sheet3.Name & "!B2:AC" & ufila3 Me.LISTA.ColumnCount = 28 Me.LISTA.ColumnWidths = "30;30;150;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30;30" End Sub Inmediatamente a la ejecución de la carga del "FormularioPrincipal" deberías poder ver todas las columnas y filas. Fijate que en el código del botón "Búsqueda" (Private Sub BT_BUSQUEDA_Click) cargas la tabla por columnas. Recuerda que puedes poner "0" en el ancho de la columna y la misma no será visible para el usuario. Suerte!
  3. Hola @roa30 Te dejo un pequeño código para identificar el rango a copiar. Agrega dentro de tu código "CopiarCeldas" un llamado como éste: "Call buscar_ultpedido" Suerte! Sub buscar_ultpedido() Dim ufila6 As String, ufila7 As String Dim rango As Range 'última fila de hoja Other ufila6 = 0: ufila6 = Hoja6.Cells(Rows.Count, 1).End(xlUp).Row If ufila6 < 2 Then ufila6 = 2 'última fila de hoja Abastecimiento ufila7 = 0: ufila7 = Hoja7.Cells(Rows.Count, 1).End(xlUp).Row If ufila7 < 2 Then ufila7 = 2 For i = ufila6 To 2 Step -1 If Hoja6.Cells(i, 1).Value = Hoja6.Cells(i - 1, 1).Value Then Else j = Hoja6.Cells(i, 1).Row Set rango = Hoja6.Range("A" & j & ":J" & ufila6) rango.Copy Hoja7.Range("A" & ufila7).PasteSpecial xlPasteValues Exit Sub End If Next End Sub
  4. Hola @Micky Mendoza Para que: * Se muestre el formulario como la celda, usa FORMAT() txt_purchase.Value = Format(pon la fecha aquí, "dd/mmm/yyyy") * No se muestren en el ListBox las columnas que no quieras ver, simplemente pon "0" en el ancho; antes de mostrar el formulario: Private Sub UserForm_Initialize() ufila1 = 0: ufila1 = Hoja1.Cells(Rows.Count, 1).End(xlUp).Row If ufila1 < 2 Then ufila1 = 2 ListBox1.RowSource = Hoja1.Name & "!A2:K" & ufila1 ListBox1.ColumnCount =11 ListBox1.ColumnWidths = "30;30;150;0;0;0;0;0;0;0;30" End Sub Suerte!
  5. Perdón @Maria_80 me olvidé de avisar que modifiqué las variables así: Public cfila1 As String, ufila1 As String Public i As Integer, cpase As Integer, ccnt As Integer Suerte!
  6. Hola @Maria_80 Puedes agregar un control para que si es el primer ingreso actue como pediste. Te dejo el código propuesto para que lo juntes con tu código ya existente (módulo 1) y pruebes. Sub ctrl_primer_ingreso() With Application .ScreenUpdating = False .DisplayAlerts = False End With cpase = 0: cfila1 = 0: cfila1 = Hoja1.Cells(i, 1).Row cvalor = 0: cvalor = Hoja1.Cells(i, 1).Value If Cells(i, 2).Value = "Entrada" Then For j = 2 To cfila1 If Hoja1.Cells(i, 1).Value = cvalor Then ccnt = ccnt + 1 If ccnt > 1 Then cpase = 1: Exit Sub If j = cfila1 Then cpase = 0: Exit Sub End If Next j Else Exit Sub End If With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub En tu código ya existente, efectúa estas modificaciones: Revisa bien los condicionales (para cuando son "Entrada") y agrega la condición cpase=0 para que Excel sepa que es el primer registro de dicho código. Sub Control_Inventario() With Worksheets("Inventario") ccnt = 0 For i = 2 To .UsedRange.Rows(.UsedRange.Rows.Count).Row Call ctrl_primer_ingreso If Cells(i, "B").Value = "Entrada" And Cells(i - 1, "B").Value = "Entrada" And cpase = 0 Then Suerte!
  7. Hola @Chrispal1977 Si subes el archivo (con datos de prueba) sería más fácil. Suerte!
  8. Hola @roa30 Prueba si te entendí bien... Pd.: tuve que eliminar los datos de la Hoja3 y las líneas del archivo para poder subirlo sin zip. Si deseas agradecer el tiempo invertido en procurar una solución al pedido, abajo a la derecha de cada mensaje encuentras un corazón. Suerte! ae20210702_post45056_suministros.xlsm
  9. Hola @DanielaAlcala22! Cuánto me alegro que te haya funcionado! Prueba con el nuevo archivo, revisando bien el nombre de las variables (modificado a nombre como tu lo tienes). Quedo al aguardo de tus comentarios. Buen domingo!!! Suerte! ae20210619_post44993_datos_licitaciones.xlsm
  10. Hola de nuevo @DanielaAlcala22! Según el traductor, el mensaje de error (no entiendo el inglés) dice: "Lo sentimos, no pudimos su archivo. Fue movido, renombrado, o borrado". Para que se ejecute el código debes tener el archivo "cotización.docx" en la ruta que tú dispones (unión de las variables ruta1 y ruta2). El mensaje te está advirtiendo que dicho archivo no está en la ruta o tiene otro nombre. Trata de copiar el nombre del archivo y pegarlo en el código para asegurar que no tiene diferencias, algún acento, etc. También puedes ejecutar el código con ambos archivos en una misma ruta (C:\); en dicho caso la variable debrá quedar así: ruta2 = "" Modifiqué nuevamente el archivo para agregar unas cajas de mensajes para que sepas dónde tienes que dejar el archivo "cotización.docx" (por favor, fijate de guardarlo en formato docx!). Después de probar, puedes borrarlas o dejarlas. Revisa nuevamente por favor y avisas cualquier error. Suerte! ae20210619_post44993_datos_licitaciones.xlsm
  11. Hola @julio-angel La macro del Maestro @antoni es para copiarla en la hoja en que deseas se ejecute la búsqueda (si es Hoja2, pegarla en el módulo de la Hoja2). Lo que debes asegurarte es que la celda "F1" (de la hoja que tu deseas) cambie de valor. Igualmente, te dejo un ejemplo para el caso que planteas en tu último post(si quieres ejecutarla desde otra hoja y que se produzca el cambio de valor de la celda). ScreenUpdating se usa para evitar el parpadeo durante los cáculos de Excel (puedes pasarlo a TRUE y verificarlo) y con ello, ejecutar con más velocidad el código. Suerte! ae20210619_post44965_PRUEBA.xlsm
  12. Hola @DanielaAlcala22 Solo pude controlar la macro "generar_word_3R" porque estoy por salir. Fiajte si te entendí bien y es lo que andabas buscando. Si deseas agradecer el tiempo invertido en procurar una solución al pedido, abajo a la derecha de cada mensaje encuentras un corazón. Suerte! ae20210619_post44993_datos_licitaciones.xlsm
  13. Hola @jose_luisc! Con los mismos datos que enuncias en tu ejemplo, inserta un módulo en un archivo ".xlsm" y ejecuta el código. Suerte! Sub copiar_datos() ufila1 = 0: ufila1 = Hoja1.Cells(Rows.Count, 1).End(xlDown).Row For i = 3 To ufila1 If Cells(i, 1).Value = "" Then ufila1 = Cells(i, 1).Row ufila1 = ufila1 - 1 Exit For End If Next If ufila1 < 3 Then ufila1 = 3 Hoja1.Range("3:" & ufila1).Copy Hoja3.Activate Rows("3:3").Insert Shift:=xlDown Application.CutCopyMode = False Cells(3, 1).Activate End Sub
  14. Hola @Gabriela hg! Te dejo una opción para que veas si puede ser lo que necesitas. Qué tengas un buen día! Suerte! ae44324_control.xlsx ae44324_datos.xlsx
  15. Hola @jeaa Te dejo una opción, fijate si es lo que buscas. Modifiqué tu "combinación de celdas" (no es de lo más recomendado usar) por la opción "centrado en la selección" para ver si es de tu agrado. Si deseas valorar el tiempo invertido en procurar la solución del problema planteado, puedes hacerlo con un click en el corazón que se encuentra en la parte derecha del comentario. Qué tengas un buen día! Suerte! ae20201129_post44273_PROPUESTA FORMT2020.xlsm
×
×
  • Create New...

Important Information

Privacy Policy