Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/27/2020 in all areas

  1. Cálculo de rutas de montaña
    8 points
  2. No tenemos la BD Access, no sabemos la tabla y no tenemos el formulario. ¿Asi pretendes que alguien te ayude? ☹️
    6 points
  3. Hola a los dos Yo creo que entendí otra cosa.. 😆🤪 Saludos, Silvia Ejemplo asignacion de ID a cada semana de acuerdo a historial sq.xlsx
    5 points
  4. A mi se me ha ocurrido esto, a ver que tal. consulta filtro combobox (2).xlsb
    5 points
  5. Antoni, no sé si eres consciente, pero en más de una ocasión nos has sacado de apuros (por lo menos a mí). Por algo encabezas la lista de máximos contribuidores, ¿no? Aprovechando el mensaje, quiero agradecerte personalmente la labor valiosísima que haces en el foro.
    5 points
  6. DiegoPC

    Contar los Vecinos

    Hola @Lázaro, @Janlui y @Silvia @Silvia Yo también lo iba a hacer con rangos con nombre y me ganaste!!! Muy buena solución. Para no quedarme atrás... lo hice de dos formas diferentes. Con megafórmula, sin nombres de rango, tomando como idea fundamental el uso de desref Con una UDF (User Defined Function) que, mediante macros, se crea una función de Excel para ser usada. Desde el punto de vista del usuario es la forma más "limpia". ¿Servira? Dado que Lázaro se autodefine como macrofílico, supongo que será de interés.Contar Vecinos 2.xlsb
    5 points
  7. avalencia

    vsto vs JavaScript

    Hola Aunque por mucho tiempo Microsoft intentó impulsar el uso de VSTO, en mi evaluación no lo ha logrado y somo muy pero muy pocos los que conocemos su uso. No tengo duda de que eso se debe a qué necesariamente hay que descargar/tener alguna versión de Visual Studio, lo que no necesariamente quiere o necesita un usuario de Excel por más que sea programador de VBA, ya que basta instalar Office y/o Excel para usar dicho lenguaje. Sobre JavaScript, y "derivados" que se pueden usar en Excel, no creo que vaya en detrimento de VBA, sino más bien que ante la constante necesidad de usar la
    5 points
  8. Hola JOCAMI90 la formula tenía una falla =SUMAR.SI.CONJUNTO(Datos!$D$3:$D$5000,Datos!$B$3:$B$5000,"*WH/"&B$3&"*",Datos!$C$3:$C$5000,$A4,Datos!$A$3:$A$5000,">="&$B$1,Datos!$A$3:$A$5000,"<="&FIN.MES($B$1,0)) considera que mi separador de argumentos es la coma (,), si el tuyo es otro, corriges. esto solo funciona para las columnas B y C que pertenecen a Setiembre, deberás cambiar manualmente B1, por D1 en Octubre, esa situación se dá , debido a que utilizaste celdas combinadas, lo que podrías hacer es descombinar las celdas y colocar las fechas en todas l
    4 points
  9. Antoni

    ¡ 5.000 likes !

    A por los 10.000. 🙂
    4 points
  10. Como @Antoni debe estar muy ocupado, adjunto un archivo con 3 macros para obtener el día de la semana desde el 0100-01-01 (aaaa-mm-dd), en formato ISO 8601, que es el primer día admitido por VBA. La función GetWeekDayName() devuelve el día de la semana si se le pasa una cadena de texto en formato ISO 8601, llamando a las otras dos macros. Es fácil convertir una string con una fecha en formato de texto al formato estándar ISO. Option Explicit Function GetWeekDayName(sDate As String) As String ' ' VBA WeekdayName Function ' Dim iWeekDay As Integer iWeekDay = GetWeekDay(sDa
    4 points
  11. Nunca debes utilizar los textbox, la función Val(), ni la función Format() en los cálculos, utiliza las variables y las funciones de conversión del tipo adecuado. He añadido un pequeño calendario. PRUEBA1.xlsm
    4 points
  12. Hola Esas fallas no están relacionadas a la versión del VBA o de Window (7, 10, etc.) sino a: - Uso de objetos ActiveX no compatibles entre ediciones de Office (32 o 64 bits, ojo, bits del Office, no importa lo de Windows). - Uso de objetos ActiveX compatible pero no registrados/instalados entre distintas PC. Recuerden que las librerías y objetos ActiveX (o similares), no "viajan" con los archivos de Excel. - "Llamadas" a funciones de la API de Windows solo para 32 bits. - Uso de propiedades y/u objetos de Excel "nuevas". Recuerden que las versiones más recientes de E
    4 points
  13. John Jairo V

    si(y y si juntos

    ¡Hola a ambos! Se debe tener en cuenta un principio de Excel a la hora de construir este tipo de fórmulas: los números, si quieres que se reconozcan como tal, no deben ir entre comillas. Teniendo en cuenta esto, verifica la siguiente fórmula propuesta: =SI(F8="efectivo a";36000;SI(F8="efectivo b";48000;SI(M8>0;SI(F8="cuotas a";6000;8000);SI(F8="cuotas a";18000;24000)))) ¡Bendiciones!
    4 points
  14. hola a todos Dieguinho, yo tengo la mejor solución: Resetea tu máquina e instala todo de nuevo... y una mas radical: CAMBIA DE COMPUTADORA😂😂 la antigüita me la puedes donar. 😄 jaja saludos, Silvia
    4 points
  15. @jhon fredy tus datos personales están seguros en Ayuda Excel. No son cedidos, vendidos o puestos a disposición de terceros. Cuando publicas tu proyecto en el foro lo estás poniendo a disposición de 25.730 usuarios, los cuales tienen permisos para descargarlos y manipularlos para darte una respuesta.. Cuando publicas un archivo en Ayuda Excel lo haces bajo tu responsabilidad, quedando Ayuda Excel exonerado de cualquier uso que los usuarios de la web puedan hacer de él. Por favor, echa un vistazo a este post publicado en la carpeta de Normas: Al registrarte en Ayuda
    4 points
  16. Hola! Hace 10 años, subí un aporte similar a lo que necesitas, abajo el tema Saludos
    4 points
  17. ¿Y porqué no ejecutar la macro directamente? Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 4 And _ Target.Column = 5 And _ Target(1, 1) <> "" Then Call MacroA End If End Sub
    4 points
  18. 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!
    4 points
  19. 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
    4 points
  20. 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
    4 points
  21. 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
    4 points
  22. 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
    4 points
  23. 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
    4 points
  24. Ya esta, pueden probar el archivo. @OAGARCIA Saludos
    4 points
  25. @Marcos14, lo que pides no es tan sencillo pero es posible, en el adjunto esta el formulario y funciona de la siguiente forma: Para mover los números debes dar click encima de uno de ellos no debes mantener presionado basta con un simple click encima Con el mause te mueves por la imagen de los círculos y cuando estés en la posición que quieras debes presionar de nuevo un click sobre el numero no sobre la imagen En caso de que quieras eliminar uno de los números que moviste debes dar un dobleClick sobre este, con eso volverá a colocarse a la derecha en la lista. Ahora se qu
    4 points
  26. ¡Hola a todos! He estado un poco ocupado estos días. Les comento sobre la fórmula que posteé, la cual tiene que ver con la función INDIRECTO. La fórmula completa es ésta: =SUMA(CONTAR.SI(DESREF(INDIRECTO(TEXTO(MIN(SI($BN$2:$BR$11=H13;(FILA($BN$2:$BR$11)-1)/1%%+COLUMNA($BN$2:$BR$11)-1));"F0C0000") ; );;;3;3);$H13:$L13))-1 Como es costumbre, arranco de adentro hacia afuera: 1. (FILA($BN$2:$BR$11)-1)/1%%+COLUMNA($BN$2:$BR$11)-1 Esta parte, a pesar de ser la primera, es la central de la solución planteada. En primera instancia, la idea es entender que el símbolo %,
    4 points
  27. hola manzano Si solo son dos dígitos: =IZQUIERDA(A1,2) Si no se sabe y solo se tiene la coma como parámetro: =IZQUIERDA(A1,HALLAR(",",A1)-1) Mi separador de argumentos es la coma, si el tuyo es otro, corriges saludos, Silvia
    4 points
  28. ¡Hola, a todos! ¡Me encantó la forma como @DiegoPC resolvió con macros! Dejo una opción con formulación. ¡Bendiciones para todos! Contar Vecinos.xlsb
    4 points
  29. Hola DavidBF, te valdría algo como esto ?
    4 points
  30. Hola Te adjunto una solución, siempre usando referencias 3D Saludos Sumar rangos referencias 3D_GP.zip
    4 points
  31. Hola @Enid86 El código del Maestro Antoni efectúa lo que necesitas. Suerte! Sub encontrar_letra() With Application .ScreenUpdating = False .DisplayAlerts = False End With ccol = Hoja1.Cells(3, 2).Value ufila01 = 0: ufila01 = Hoja1.Cells(Rows.Count, ccol).End(xlUp).Row ctexto = Hoja1.Cells(4, 2) With Columns(ccol) .Find(ctexto, .End(Down), , xlWhole, , xlPrevious).Select End With MsgBox "La última celda con valor: " & ctexto & " es la celda: " & ActiveCell.Address With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub
    4 points
  32. Bueno, ya está, no se si es lo que quieres, pero es lo que me ha salido. Abre el adjunto y pulsa sobre la flecha azul. aleatorio (1).xlsm
    4 points
  33. Suponiendo que actúas sobre la columna A. Pon en la hoja esta macro. Private Sub Worksheet_Change(ByVal Target As Range) Dim Carpeta As String On Error Resume Next If Target.Address Like "$A$*" Then '<----- corregir si es necesaio Carpeta = ThisWorkbook.Path & "\" & Target.Value If Dir(Carpeta, 16) = "" Then MkDir (Carpeta) ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:=Carpeta End If End If End Sub Y por favor, no dejes de beber,.......🤣🤣🤣
    4 points
  34. Esta es la aplicación muy fácil de utilizar.
    4 points
  35. Hola @Enid86, si lo que buscas es saber si la variable "vehiculo" se encuentra dentro de la matriz "listacalidad", puedes utilizar esta linea: If UBound(Filter(listacalidad, Vehiculo)) >= 0 Then Esto buscara dentro de la lista cuantas veces aparece el vehículo, si no aparece devuelve un -1, si aparece devuelve un numero mayor o igual a 0 dependiendo de las veces que se repita dentro de la lista. Saludos a ambos @Sergio, @Enid86
    4 points
  36. bigpetroman

    formato en textbox

    amigo @pildo asi pudieras hacerlo asi Private Sub ComboBox1_Change() Dim nTiempo As Double On Error Resume Next TextBox1 = ComboBox1.List(ComboBox1.ListIndex, 1) nTiempo = CDbl(TextBox1) * 24 TextBox2 = Int(nTiempo) & ":" & Format((nTiempo - Int(nTiempo)) * 60, "00") End Sub
    4 points
  37. Hola, te faltó crear nombres.... Selecciona todo el rango J3:Q9 Presiona CTRL+SHIFT+F3 Deben estar marcados los check de fila superior y columna izquierda Aceptas y todo estará bien
    4 points
  38. Juan P esto sucede porque el evento Worksheet_Change que ha utilizado Gerson están dirigido a los cambio que ocurran en la celda E2, si lo que deseas es aplicar en E4 solo debes cambiar la referencia. Private Sub Worksheet_Change(ByVal Target As Range) '************ by Gerson Pineda ************ '************ Feb/2020 ************ On Error Resume Next Application.EnableEvents = False With Target If .Address(0, 0) = "E4" Then .Value = _ VBA.Left(.Value, VBA.InStr(1, .Value, " ", vbTextCompare) - 1) End With Application.EnableEvents = True On Error GoTo 0 End Sub
    4 points
  39. Antoni

    Validar DNI, CIF y NIE

    ¿Sabes cual es el problema JSDJSD?, que tu le estás dando una solución que no es la que quiere, lo que pasa es que no se ha enterado cual es la solución que tu le aportas, ya que la solución es la que ha aportado ikanni, o sea una función de validación del DNI, no una búsqueda en una columna. Pero como no sube una archivo con el textbox, el botón y explicando que es lo que quiere tal como indican las normas del foro, el tema se está eternizando sin ninguna necesidad.
    4 points
  40. Antoni

    COMMANDBUTTON

    😂😂😂😂
    4 points
  41. Jajajaja, mi propia medicina.... Estaba preparando un ejemplo nuevo (el archivo que tiene el control que me da el problema es confidencial), pero en el nuevo archivo funciona bien...
    4 points
  42. Un poco de humor informatico...
    4 points
  43. ¡Hola a ambos! Dejo otra opción en el adjunto. ¡Bendiciones! Buscar palabra de una lista en un texto.xlsx
    3 points
  44. Otra opción, usando fórmulas matriciales (se ingresan presionando la combinación de teclas Ctrl + Shift + Enter). Saludos! Ejemplo asignacion de ID a cada semana de acuerdo a historial.xlsx
    3 points
  45. Hola @Serch! Esta vez me superé a mi mismo y mi propuesta no tiene 1 ni 2 sino 3 columnas auxiliares jajajajajajaja Mi propuesta es bastante engorrosa, pero bueno, paso a explicarla jajajjaaja: La Columna auxiliar1 cuenta la cantidad de repeticiones de cada ID en el historial. La Columna auxiliar3 ordena las repeticiones de acuerdo a la frecuencia de cada una de ellas, con la función JERARQUIA. La Columna auxiliar2 tuve que agregarla para que la función JERARQUIA obtuviera los valores correctos, ya que ésta no ordena los valores repetidos (por ejemplo, a los ID que no aparecían
    3 points
  46. ¡Venga! vamos a crear una croudfunding. 🤣😘
    3 points
  47. Hola No se si entendí, pero prueba así =SI(E13<=250,E13/250,SI(E13<=500,E13/500,SI(E13<=750,E13/750)))*100 Si son muchas mas condiciones, existen otros métodos, que pudieses hacer Saludos
    3 points
  48. Que tal @nickmartinez, la instrucción con la que puedes unir elementos de un array utilizando un separador se llama JOIN por ejemplo Join(TuArray,",") dará como resultado una cadena string separados por una coma. Esto solo funciona en una matriz de una solo dimensión. Con respecto a tu archivo, para que funcionara tuve que realizar un ligero cambio a la forma como se redimenciona la matriz. Saludos. Array_Select.xlsm
    3 points
  49. Aunque no te lo creas, los que contestamos de forma habitual, tenemos una vida fuera del foro. Tenemos trabajo, familia, aficiones, compromisos y tiempo libre, es de ese tiempo libre de donde sacamos una parte de el y lo dedicamos al foro de forma voluntaria y totalmente altruista, es decir, nadie nos paga por ello. Por tanto deberás tener paciencia hasta que alguien tenga a bien revisar tu consulta, que por cierto, tu consulta inicial ya ha sido contestada, lo de aprovecharla para ir colado nuevos requerimientos es algo expresamente prohibido por las normas del foro. Y por últi
    3 points
  50. Antoni

    Validar DNI, CIF y NIE

    Y a ikanni, que ya te dio la solución en el post #4, y llevamos 23 con este, ni nombrarlo. De desagradecidos está el mundo lleno. ☹️
    3 points
  • Newsletter

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

Important Information

Privacy Policy