Jump to content

tierra_pampa

Members
  • Posts

    344
  • Joined

  • Last visited

  • Days Won

    19

Reputation Activity

  1. Like
    tierra_pampa reacted to Antoni in Macro para crear hoja si no existe   
    Sub crearHoja() Dim Hoja As String Hoja = "Benito" '<---------- Tu hoja nueva If ExisteHoja(Hoja) Then MsgBox "Ya existe la hoja " & Hoja, vbCritical Else Sheets.Add(After:=Sheets(Sheets.Count)).Name = Hoja MsgBox "Se ha creado la hoja " & Hoja, vbInformation End If End Sub Function ExisteHoja(Hoja As String) As Boolean For h = 1 To Sheets.Count If Sheets(h).Name = Hoja Then ExisteHoja = True Exit Function End If Next h End Function  
  2. Like
    tierra_pampa reacted to Antoni in Alternativa Macro importar datos de un libro de excel a otro   
    Sub Importar_Fichero() Dim Archivo As Variant Dim Examinar As Object '-- ChDir ThisWorkbook.Path Set Examinar = Application.FileDialog(msoFileDialogFilePicker) With Examinar .AllowMultiSelect = True .Title = "Seleccionar archivos a consolidar" If .Show = -1 Then Sheets("Hoja1").Range("A2:AO" & Rows.Count).ClearContents For Each Archivo In .SelectedItems ConsolidarArchivo Archivo Next Sheets("Hoja1").Activate MsgBox "Carga completada" End If End With End Sub '--------------- Private Sub ConsolidarArchivo(Archivo As Variant) Application.ScreenUpdating = False Application.StatusBar = Archivo With ThisWorkbook.Sheets("Hoja1") Fila = .Range("A" & Rows.Count).End(xlUp).Row + 1 Workbooks.Open Archivo Range("A2:AO" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Range("A" & Fila) End With Application.StatusBar = False ActiveWorkbook.Close End Sub  
  3. Thanks
    tierra_pampa got a reaction from Micky Mendoza in FORMULARIO PARA TRABAJO   
    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!
  4. ¡Excelente!
    tierra_pampa got a reaction from roa30 in Copiar ultima fila completa de una Hoja de Origen a otro Libro   
    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  
  5. Thanks
    tierra_pampa got a reaction from Micky Mendoza in FORMULARIO PARA TRABAJO   
    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!
  6. Like
    tierra_pampa reacted to Antoni in Subtotales de mas de 10 columnas   
    He utilizado un filtro avanzado.
    La hoja FILTRO puedes ocultarla, pero no eliminarla.
    Ya contarás como te va.
     
    CONTROL 2021 (1).xlsm
  7. Thanks
    tierra_pampa got a reaction from roa30 in PASAR DATOS DE UN LISTBOX A OTRO LISTBOX   
    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
  8. Like
    tierra_pampa reacted to Antoni in Macro Control de Inventario   
    Prueba con esta macro:
    Sub ObtenerSaldos() Dim Producto, Stock, Valor Application.ScreenUpdating = False For x = 2 To Range("A" & Rows.Count).End(xlUp).Row If Not Range("A" & x) = Producto Then Producto = Range("A" & x) Stock = 0 Valor = 0 End If If UCase(Range("B" & x)) = "ENTRADA" Then Stock = Stock + Range("D" & x) Valor = Valor + Range("E" & x) Else Stock = Stock - Range("D" & x) Valor = Valor - Range("E" & x) End If Range("F" & x) = Stock Range("G" & x) = Valor Next End Sub  
  9. Thanks
    tierra_pampa got a reaction from Maria_80 in Macro Control de Inventario   
    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!
     
  10. Like
    tierra_pampa reacted to Antoni in Ayuda con Combox para Buscar en el Evento Change y buscar con Boton.   
    Un poco más rápido y ordenado.
    Creo que no necesitas el botón buscar, para agilizar se podría condicionar la búsqueda a que se teclearan como mínimo 3 caracteres en el textbox. Ya comentarás.
    suministros (1).xlsm
     
  11. Like
    tierra_pampa reacted to roa30 in PASAR DATOS DE UN LISTBOX A OTRO LISTBOX   
    Hola @tierra_pampa
    Muchisimas gracias por tu muy valioso aporte, no solo que entendiste mi planteo a la perfeccion, sino que me ayudaste con la visualizacion de los otros datos de columnas. 
     
    Muy agradecida!☺️
  12. Thanks
    tierra_pampa got a reaction from roa30 in PASAR DATOS DE UN LISTBOX A OTRO LISTBOX   
    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
  13. Like
    tierra_pampa reacted to DanielaAlcala22 in Guardar un documento word generado con excel con un nombre determinado y variable   
    @tierra_pampa Hola! queria escribirte que ya resolvi lo de sustituir los valores dentro de un encabezado para que no te molestaras en escribir un codigo al pedo 😅. Te vuelvo a dar muchas gracias por toda la ayuda que me has dado para este codigo!
  14. Thanks
    tierra_pampa got a reaction from DanielaAlcala22 in Guardar un documento word generado con excel con un nombre determinado y variable   
    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
  15. Like
    tierra_pampa got a reaction from Antoni in Filtrar listado en Excel   
    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
  16. Thanks
    tierra_pampa got a reaction from DanielaAlcala22 in Guardar un documento word generado con excel con un nombre determinado y variable   
    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
  17. Like
    tierra_pampa reacted to Antoni in Cómo alinear check boxes en formularios   
    Prueba con esta macro.
    Sub Alinear() For Each check In ActiveSheet.Shapes If check.Name Like "Check*" Then check.Height = 15 check.Width = 15 check.Left = check.TopLeftCell.Left + 6 check.Top = check.TopLeftCell.Top + 3 End If Next End Sub  
  18. Thanks
    tierra_pampa got a reaction from DanielaAlcala22 in Guardar un documento word generado con excel con un nombre determinado y variable   
    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
  19. Like
    tierra_pampa got a reaction from Antoni in Filtrar listado en Excel   
    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
  20. Like
    tierra_pampa reacted to Antoni in Filtrar listado en Excel   
    El código VBA está en la hoja, Alt+F11 y doble click en la hoja.

  21. Like
    tierra_pampa reacted to DiegoPC in Filtrar listado en Excel   
    Hola!!
    Otra alternativa, también con macros, pero un poquito más corta y preparada para que el listado de la izquierda crezca sin tener que hacer modificaciones.
     
    Listado Productos_Diego.xlsm
  22. Like
    tierra_pampa reacted to Antoni in Macro para poner GV en la ultima operación.   
    Aquí está la macro:
    Sub PonerGV() Application.ScreenUpdating = False For x = 4 To Range("L" & Rows.Count).End(xlUp).Row For y = 13 To 16 If Cells(x, y) = "GV" Then Exit For If Cells(x, y) = "" Then Cells(x, y) = "GV" Exit For End If Next Next End Sub  
  23. Like
    tierra_pampa reacted to Antoni in Registro de entradas y salidas.   
    Revisa el adjunto.
     
    Entradas y salidas de material_5 (1).xlsm
  24. Like
    tierra_pampa reacted to Antoni in Necesito ayuda para registrar y filtrar con ListView   
    Revisa los procedimientos Limpiar_campos y BtnGuardar_Click del adjunto.
    Costos y Empleado.xlsm
  25. Like
    tierra_pampa reacted to Antoni in Macro para utilizar VLOOKUP entre dos hojas dentro del mismo libro   
    Abre el adjunto y pulsa sobre la flecha azul.
    Vlookup (prueba2).xlsm
×
×
  • Create New...

Important Information

Privacy Policy