Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 07/09/2020 in Posts

  1. 4 points
    Hola @MauriciodeAbreu Selecciona el formulario y busca la propiedad "StartUpPosition". Te dejo una img Eres nuevo. Por favor ten en cuenta que, para una mejor resolución de los problemas, debes subir un archivo ejemplo (no necesariamente el original ni con datos verdaderos, pero que tenga la estructura de aquel). Si deseas retribuir 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!
  2. 4 points
    Me aburría y he hecho esto. Abre el adjunto y pulsa sobre la flecha verde. Nota: Si utilizas una tabla en la propiedad RowSource de un listbox/combobox e intentas añadir/eliminar una fila da error, para evitarlo, debes desvincular la tabla del control y volver a cargarlo. En el archivo que he subido verás como hacerlo. 🙂😷 Inventario.xlsm
  3. 4 points
    Antoni

    Filtrar listbox con dos combobx

    A mi se me ha ocurrido esto, a ver que tal. consulta filtro combobox (2).xlsb
  4. 4 points
    tierra_pampa

    Filtrar listbox con dos combobx

    Hola @Jose BN Aquí te dejo una propuesta para ver si encaja con lo que necesitas. Cualquier modificación, por aquí andaremos. Que tengas una buena jornada! Suerte! ae20200725_post43798_consulta filtro combobox.xlsb
  5. 4 points
    Solo añadir que estás confundiendo el objeto con el nombre del objeto Además, no es necesario seleccionar la hoja cada vez Dim Hoja As Worksheet Dim Libro As Workbook For Each Libro in Workbooks For Each Hoja in Libro.Sheets With Hoja.Cells ... ... End With Next
  6. 4 points
    saludos @paikerr, simplemente elimina las lineas Set libro = ActiveWorkbook.Name Set hoja = ActiveWorksheet.Name NO es necesario pues libro y hoja ya hacen referencia a cada uno de los objetos y cambia esta For Each hoja In Worksheets por esta otra For Each hoja In libro.Worksheets
  7. 4 points
    Descarga el adjunto desde el enlace a MEGA: Enlace Crea una subcarpeta con el nombre FOTOS Pon en ella las imágenes con un nombre igual al código de producto, ejemplo: 007.jpg
  8. 3 points
    Hola a todos No pasa nada, solo usa tus lentes y ya Otra opción es usar el evento Layout del formulario, tal que: Private Sub UserForm_Layout() With UserForm1 .Left = 100 .Top = 300 '.Width '.Height End With End Sub Saludos!
  9. 3 points
    Hola @MauriciodeAbreu Te dejo mi aporte, Nos comentas. PD. Solo modifique las propiedades: LEFT yTOP Formulario1.1.xlsm
  10. 3 points
    Hola @jeaa Amigo, aquí te dejo una nueva versión (modificada para ver si podemos salvar el error que te saca fuera de la aplicación) Te agregué un formulario para que te haga las veces de formulario principal (menú). Si te continúa dando problemas, lo vemos. Qué tengas un buen día! ae20200731_post43836_inventario v2.xlsm
  11. 3 points
    Hola @jeaa Envió tu archivo de vuelta. Tarda un poco, por que después de cada registro, en el código quitas el UserForm en cuestión y lo vuelves a cargar.(No le veo propósito) No me marca error, pero hay algunos eventos que no tienen código, por lo que no tiene sentido que los tengas registrados. Nos comentas Inventario1.1.xlsb
  12. 3 points
    Tienes un lío conceptual impresionante, intentaré subirte algo hoy y si no, mañana.
  13. 3 points
    Sin el archivo con el formulario y datos para probar es difícil darte una respuesta. De todas formas hay algo que no se entiende, ¿Como pretendes hacer click en la option si la ocultas? ¿No deberías usar un botón?, lo dicho, sin el archivo Excel, no hay nada que hacer. Prueba así: Private Sub OptionButton1_Click() If IsNumeric(Label1) Then Do: cantpeq = InputBox("Ingrese la cantidad a enviar", "CANTIDAD A ENVIAR") If IsNumeric(cantpeq) Then Label4 = Label1 - cantpeq Label5 = Label2 Label6 = Label3 Label7 = Label9 Label8 = Label10 Label12 = Label11 End If Loop While Not IsNumeric(cantpeq) End If End Sub
  14. 3 points
    Hola Ruben Usar SUMARSI con 20mil registros no me parece para que Excel se ralentice, a menos que sea por otras mas razones, pe: si tu archivo esta lleno de mas hojas, con demasiadas formulas [entre ellas volátiles], referencias a columnas completas y formato condicional, puede ser lo que ocasiona tu problema Además para realizar una TD, necesitas tener tus datos en forma tabular o como una especie de BD, pero este no es tu caso Te adjunto una opción con VBA, solo presionas ctrl+k y listo Saludos SumarSi Evaluate VBA_GP.xlsm
  15. 3 points
    tierra_pampa

    Trasladar Datos de Origen a Destino

    Hola amigo! Por favor, bajo ningún punto de vista, lo tomes como un enojo. Simplemente entendí que habías dejado de lado el archivo y por ello te escribí. No necesitas disculparte en lo más mínimo y, acepta que sea yo quien ofrezca mis más sinceras disculpas por no saber escribir lo que realmente quiero expresar. Que tengas un buen día! Suerte!
  16. 3 points
    Hola @SebastianFelipe Espero sea de utilidad, Nos comentas. error 1004_1.1.xlsm
  17. 3 points
    @jhon fredy Use como modelo el código del maestro @Antoni. Saludos. IsEven1.2.xlsm
  18. 3 points
    Descarga el archivo, descomprÍmelo y pon los archivos en este caso en tu escritorio, cambia la ruta por la tuya.... Set rngDestino = Workbooks.Open("C:\Users\JSD\Desktop\PlanillaDestino.xlsm").Worksheets("EGRESOS") _ .Cells(Rows.Count, "a").End(xlUp).Offset(1) debes cambiar lo marcado en color verde, es decir borrar lo que hay y porner el nombre de tu equipo, este cambio debes realizarlo en el botón traspasar. Prueba y comenta. Origen destino.rar
  19. 3 points
    Antoni

    MACRO PARA LIMPIAR CELDAS

    Otra opción, asigna esta macro al botón "M": Sub Borrar() If MsgBox("¿Desea borrar las columnas A:C, E:G de la fila de la celda activa?", vbQuestion + vbYesNo) = vbYes Then If MsgBox("¿Está seguro?", vbQuestion + vbYesNo) = vbYes Then Range("A" & ActiveCell.Row).Resize(1, 3).ClearContents Range("E" & ActiveCell.Row).Resize(1, 3).ClearContents Exit Sub End If End If MsgBox "*** Operación de borrado cancelada ***", vbInformation End Sub
  20. 3 points
    Es que no habías mencionado que estabas usando un evento, o puedes ser opción para ti, lo que yo te mande fue pensando que estas usando un formulario o algún botón Saludos a todos!
  21. 3 points
    También se puede hacer con "&" como lo intentó al principio =A1&"-"&B1&SI(ESBLANCO(C1),"","-")&C1 Agregando el =SI(
  22. 3 points
    DiegoLG

    Calculo Amortizacion

    Checa el archivo, =SUMAR.SI.CONJUNTO(F3:Q3,$F$2:$Q$2,"<="&$C$1)+SUMAR.SI.CONJUNTO(S3:AD3,$S$2:$AD$2,"<="&$C$1)+SUMAR.SI.CONJUNTO(AF3:AQ3,$AF$2:$AQ$2,"<="&$C$1) Saludos, Diego. Copia de Prueba.xlsx
  23. 3 points
    Prueba y comenta, veras que en el combobox te aparecen solamente valores únicos y ordenados alfabeticamente. listbox-comboboxPrueba(2).xlsm
  24. 3 points
    @pixelatumente, te recomiendo que rellenes los campos de tu perfil referentes al separador de argumentos y versión de Excel que usas. Con Excel 365 hay una respuesta fácil a tu consulta.
  25. 3 points
    Revisa el adjunto. Adeudos.xlsm
  26. 3 points
    Antoni

    macro filtro con varias condiciones

    He añadido las hojas CRITERIOS y FILTRO, si quieres puedes unificarlo todo en una sola hoja. Abre el adjunto y pulsa sobre la flecha azul. Sub FiltroAntoni() 'Vale para cualquier rango y criterios With Sheets("ALMACEN") If .FilterMode Then .ShowAllData .Range("A1").CurrentRegion.AdvancedFilter _ Action:=xlFilterCopy, _ CriteriaRange:=Sheets("CRITERIOS").Range("A1").CurrentRegion, _ CopyToRange:=Sheets("FILTRO").Range(.Range("A1").CurrentRegion.Address) End With Sheets("FILTRO").Select End Sub Filtro Antoni.xlsm
  27. 2 points
    Los títulos de la fila 1 en ambas hojas han de coincidir exactamente. Sub CopiarPorNombre() For y = 1 To Hoja1.Cells(1, Columns.Count).End(xlToLeft).Column Set columna = Hoja2.Rows(1).Find(Hoja1.Cells(1, y), , , xlWhole) If Not columna Is Nothing Then Hoja1.Columns(y).Copy Hoja2.Columns(columna.Column) Next End Sub
  28. 2 points
    Esto pasa cuando dáis cosas por hecho al explicar el problema o subir los archivos... Que no tienen nada que ver lo que se hace con lo que necesitáis . En fin... Te dejo la solución, que espero que ahora sí Copia de BUSCAR DATO EN OTRA HOJA-1.xlsm
  29. 2 points
    Te podrá ayuda en algo: http://www.cpearson.com/excel/unselect.aspx
  30. 2 points
    hola itz Según lo que comentas, con CONTROL+B, es suficiente... (explora esa opción, puedes buscar solo en la hoja, en todo el libro, puedes reemplazar valores, etc, etc, etc...) Espero te sea de utilidad Saludos, Silvia
  31. 2 points
    Hola Tu Office es de 64 bits y en el archivo de ejemplo enviado hay varias funciones de la API de Windows que hay que modificar en las declaraciones. Modifica toda la parte que está entre la línea #If VBA7 Then y la línea #Else reemplazando por las siguientes: Private Declare PtrSafe Function SetCurrentDirectoryA Lib "kernel32" (ByVal lpPathName As String) As Long Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Private Declare PtrSafe Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As Long Private Declare PtrSafe Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPtr Private Declare PtrSafe Function TerminateProcess Lib "kernel32" (ByVal hProcess As LongPtr, ByVal uExitCode As Long) As Long Private Declare PtrSafe Function CloseHandle Lib "kernel32" (ByVal hObject As LongPtr) As Long Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As Long) As LongPtr Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As LongPtr, ByVal ncode As Long, ByVal wParam As LongPtr, lParam As LongPtr) As LongPtr Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As LongPtr Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As LongPtr) As Long Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" (ByVal hDlg As LongPtr, ByVal nIDDlgItem As Long, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As LongPtr, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As Long Yo prefiero usar Public, pero lo dejo en Private como te lo han mostrado. Saludos.
  32. 2 points
    Silvia

    ANSWERED FORMULA CONFORME CONDICION

    Hola Ramonvar, espero te sea de utilidad 😅🤣
  33. 2 points
    Hola Te adjunto una opción en el adjunto Saludos Almacenar Fechas en Matriz_GP.xlsm
  34. 2 points
    muy agradecido a los me han ayudado logre solucionar justos con sus ayudas mi proyecto sus aportes de cada uno de ustedes me han servido mucho...Gracias tema concluido.
  35. 2 points
    Haplox

    Transpose

    Muy bonito @CECILIO , ¿Y ahora qué hacemos?
  36. 2 points
    Mauricio_ODN

    ERROR CON EL METODO PROTECTION

    Hola @paikerr Te dejo una alternativa: ''-->> Sub Delete_oAllw() Dim MeSh As Worksheet Dim oPrt As Protection Dim oAllw As AllowEditRanges Dim Fila As Long Set MeSh = ThisWorkbook.ActiveSheet Set oPrt = MeSh.Protection Set oAllw = oPrt.AllowEditRanges MeSh.Unprotect contraseña Fila = 100 For i = 1 To oAllw.Count ''-> Linea si quieres elimimar el rango If oAllw(i).Title = "Rango1" Then oAllw(i).Delete Next i oAllw.Add Title:="Rango1", _ Range:=Range("A3:H" & Fila), _ Password:=contraseña With MeSh .Protect Password:=contraseña, _ DrawingObjects:=True, _ Contents:=True .EnableSelection = xlNoRestrictions End With End Sub ''<-- Nos Comentas.
  37. 2 points
    Hola @jhon fredy Empezando por solicitarlo en el primer post? jajaja Ya es muy tarde en mi país. Mañana -si continúas sin respuesta- lo revisamos. Que tengas un buen día! Suerte! Pd: si deseas retribuir el tiempo invertido en posibilitar la solución del problema planteado, puedes hacerlo con un click en el corazón que se encuentra en la parte derecha del comentario.
  38. 2 points
    Jose BN

    Filtrar listbox con dos combobx

    Bueno! Antoni La genialidad está de sobra! está muy buena la opción, seguramente no me hubieran alcanzado los años para lograr algo así. Saludos J
  39. 2 points
    bigpetroman

    Ayuda con la macro de un gráfico

    Saludos @Ihm, revisa el anexo A4.xlsm
  40. 2 points
    Hola @ramonvar No se trata de que sepas de macros, ni tampoco es difícil. Simplemente, rellena los datos que te pide la hoja "configura" y ejecuta la macro (no necesitas tener abierto el archivo "DESTINO"). Si no existe dicho archivo de "DESTINO" o tiene un nombre distinto al que figura en la celda "B5" de la hoja "configura" la macro arrojará un error. El cuadro con números del 1 al 10 te permite, en el futuro, modificar las columnas que recibirán datos. Perdona que no hice esto en el archivo, pero no fue lo que solicitaste en el posteo principal. Los libros están separados (solo subí el ORIGEN porque es el que contiene la macro). Como yo dediqué un tiempo para tratar de solucionar el inconveniente, me gustaría que puedas tomarte un tiempo para revisar la propuesta. Que tengas un buen día! Suerte!
  41. 2 points
    Mira el vídeo del enlace y di si es lo buscas. https://drive.google.com/file/d/1X0bm2tXhVHjIbNqdD_S74rQvRr4rmzeU/view?usp=sharing
  42. 2 points
    Hola @ramonvar!!! Te dejo un archivo para que controles si he entendido tu solicitud (pon los nombres de cada uno de los archivos en las celdas dónde se solicita y puedes modificar la columna origen y/o destino a tu necesidad en el cuadro que se acompaña). 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! ae20200724_PlanillaOrigen.xlsm
  43. 2 points
    Hola @exskizzo Te dejo una alternativa, espero sea de Utilidad. Se creó un Userform nuevo (userform2), deje una hoja oculta para las pruebas, revisa el evento UserForm_Initialize. Nos comentas. Registro de Compras 1.1.xlsm
  44. 2 points
    JSDJSD

    Ayuda con Gráfico segunda parte

    Te dejo otra opción audiometriaPrueba(2).xlsm
  45. 2 points
    @pixelatumente, en las fórmulas del archivo que adjuntas hay muchos errores de introducción de datos. He corregido las fórmulas. =SI.ERROR(INDICE($G$3:$G$7; K.ESIMO.MENOR(SI(CONTAR.SI($B3; "*"&$G$3:$G$7&"*"); COINCIDIR(FILA($G$3:$G$7);FILA($G$3:$G$7)); ""); COLUMNAS($A$1:A1))); "") Está preparada para que la introduzcas en la celda C3.
  46. 2 points
    JSDJSD

    Ayuda gráfico

    Prueba y comenta. grafico Prueba (1).xlsm
  47. 2 points
    Silvia

    indice

    hola jabrajam no entiendo nada de lo que requieres 🙄, te sugiero adjuntar un excel con un ejemplo de lo que tienes y lo que necesitas hacer. saludos, Silvia
  48. 2 points
    =SI(IZQUIERDA(A1;3)="ABC";A1;"")
  49. 2 points
    Hola @rafernan Una posible solución, espero sea de utilidad. -->> Sub Print_1() Cc = Sheets("LISTADO").Cells(9, 9).Value Sheets("PEGATINA").PrintOut From:=1, to:=Cc ', Copies:=Cc, Collate:=True, IgnorePrintAreas:=False ''For i = 1 To Cc '' Sheets("PEGATINA").PrintOut ''Next i End Sub <<-- Nos comentas
  50. 2 points
    bigpetroman

    Macros para Distribuir deuda

    Saludos @rsoto.conta te dejo una forma, es las mas simple, ordenas la deuda, y vas asignando valores maximo y minimo a cada cobrador, al final la distribución es uniforme, lo único es que si el valor máximo es muy diferente al resto, pues siempre el primer seleccionado de seguro tendrá un promedio mucho mayor Distribuir Deuda.xlsm


  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...

Important Information

Privacy Policy