Jump to content

Leaderboard

Popular Content

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

  1. 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
    4 points
  2. 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
    3 points
  3. 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
  4. 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
  5. Saludos @Potter08, cuando haces esto Set Rng = Sheets(NameO).Range("A:A").Find(valor, LookAt:=xlWhole) y se consigue el valor buscado, ya Rng hace referencia a esa celda, incluyendo hoja y todo, es decir, tu pudieras hacer por ejemplo Rng.Resize(1, 10).Copy y con eso estas copiando desde la celda Rgn, hasta 10 columnas a la derecha Suerte
    2 points
  6. Me alegro, pero nunca olvides agradecer a quien te ayuda o intenta ayudar y en el foro se agradece mediante el corazoncillo que hay en la parte inferior derecha, un saludo.
    2 points
  7. Bueno te dejo otra opción, prueba y comenta Vlookup (prueba2).xlsm
    2 points
  8. Hola jhon fredy, como no compartes archivo pues simplemente adapta el código a tus necesidades. Un saludo
    2 points
  9. ¡Hola @Aprendizdeexcel! La fórmula que tienes no te debiese dar ningún tipo de problema. Debes mostrar cuál es el resultado esperado y en qué casos dices que no te da lo que necesitas que te de. Mientras tanto, hice algunas modificaciones en tu archivo para mostrarte que: 1. No necesitas las columnas de fecha inicio y final (se pueden calcular dentro de la fórmula). 2. Mejoré la formulación para que fuese única por cuadro (usando referencias mixtas). 3. Coloco un formato personalizado en los títulos (mejora la experiencia de la fórmula). 4. Se puede usar alguna de la
    2 points
  10. mmmm entonces entendi mal jajajajaj. Intenta probar esta fórmula en la celda O2 =INDICE(E2:M2;1;ALEATORIO.ENTRE(1;9)) El "9" indica el N° de columnas que se consideran a partir de la columna E inclusive. Podes cambiarlo por otro número menor, para tomar menos columnas. La función ALEATORIO.ENTRE es volátil por lo que se recalcula ante cualquier cambio en el archivo. Debes usarla y luego reemplazar la fórmula por los valores "pegado especial => valores" Revisa por favor el adjunto, le agregué algunos formatos condicionales (celdas coloreadas). Espero haber cumplido toda
    2 points
  11. Hola Serch y Cristian 1985 Adjunto otra opción.. Ejemplo busqueda de valor correspondiente para cada semana sq.xlsx
    2 points
  12. Hola @Serch! Adjunto una alternativa empleando una columna auxiliar! Saludos! Ejemplo busqueda de valor correspondiente para cada semana.xlsx
    2 points
  13. Eso depende de la configuración anti SPAM del receptor del mensaje.
    2 points
  14. Sub Buscar_dato() Dim encontrado As Range '-- If [C4] = "" Then MsgBox "Introduzca un Número a buscar", vbInformation, "Número vacío" Exit Sub End If '-- [C6:C12] = "" With Sheets("BD") Set encontrado = .Columns("B").Find(What:=[C4], LookAt:=xlWhole) 'xlWhole Busca exacto If Not encontrado Is Nothing Then [C6] = .Cells(encontrado.Row, "C") 'Nombre [C8] = .Cells(encontrado.Row, "D") 'CEDULA [C10] = .Cells(encontrado.Row, "E") 'ESTACIÓN [C12] = .Cells(encontrado.Row, "F") 'BOMBERO Range("A1") = True 'Desactiva el Che
    2 points
  15. Prueba con esto: Sub TransponerA1SX42() Application.ScreenUpdating = False y = Columns("UT").Column For columna = 1 To Columns("SX").Column x = (columna - 1) * 42 + 1 Range(Cells(x, y), Cells(x + 41, y)).Value = _ Range(Cells(1, columna), Cells(42, columna)).Value Next Columns(y).Sort Key1:=Columns(y) End Sub
    1 point
  16. Pfffffff eres un maestro al verdad.... que excelente apoyo¡
    1 point
  17. Saludos @karrakilla, revisa el anexo, las macros están en el módulo mGeneral, cuando cargas los txt las macros se llaman automáticamente de txt a excel 2.xlsm
    1 point
  18. JSDJSD

    Macro Vlookup

    Te dejo una opción. Vlookup (prueba1).xlsm
    1 point
  19. Hola Helena, Cambia esta fila por esta 'otra' : Saludos
    1 point
  20. Hola @CSI1981! Intenta con la siguiente fórmula en la celda G7: =SI.ERROR(PROMEDIO(D7;D10);0) Saludos!
    1 point
  21. Hola muchas gracias¡¡¡ Otro estupendo ejemplo y solucion, te lo agradezco, son unos cracks¡¡ saludos.
    1 point
  22. Hola Helena, A ver sí te vale esto. Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 1 Then Application.EnableEvents = False .Offset(, 4) = Format(Now, "hh:mm") If Len(.Text) = 0 Then .Offset(, 4) = "" Application.EnableEvents = True End If End With End Sub
    1 point
  23. ¡Buen día, @Persal95! Revisa el adjunto, donde con la siguiente medida DAX (llamada Rolling), puede funcionar lo que necesitas: = Var WK = MIN(Tabla1[WK]) Var T = IF(VALUES(Tabla1[Sucursal]) = "A"; 4; 13) Return CALCULATE(SUM(Tabla1[Ventas]) / SUM(Tabla1[Total]); FILTER(ALL(Tabla1[WK]); (Tabla1[WK] > WK - T) && (Tabla1[WK] <= WK)) ) Revisa el adjunto, donde aplico la medida. ¡Bendiciones! Rolling 13 y Rolling 4.xlsx
    1 point
  24. Antoni

    prorrateo

    Como no subas un archivo Excel con un ejemplo de lo que quieres conseguir, no vas a conseguir ayuda.
    1 point
  25. Private Sub LlenarListBox() For x = 2 To Range("A" & Rows.Count).End(xlUp).Row B = Split(Range("B" & x), "-") C = Split(Range("C" & x), "-") D = Split(Range("D" & x), "-") With ListBox1 For y = 0 To UBound(B) .AddItem Range("A" & x) .List(.ListCount - 1, 1) = B(y) .List(.ListCount - 1, 2) = C(y) .List(.ListCount - 1, 3) = D(y) Next End With Next End Sub Llama a este procedimiento para llenar el ListBox.
    1 point
  26. Exactamente es un problema, pero así están hechas las cosas en las empresas... 🤪 Exactamente es un problema, pero así están hechas las cosas en Microsoft...
    1 point
  27. @diegolg, sobre la cinta de opciones existe documentación incluso cursos completos en Youtube. Yo estoy buscando (todavía sin éxito), referencias para modificar el backstage.
    1 point
  28. Apenas empece a utilizar el UI Editor, la verdad no es muy complicado. lo trabaje en office 2013 y 2019, y no he tenido ningún problema. Saludos,
    1 point
  29. Cada vez que añadas/modifiques en la columna A, se copiarán los datos correspondientes de la hoja N1. Trabajo.1.xlsb
    1 point
  30. Antoni

    PROBLEMA ARRAY

    Directamente de la ayuda de vba: Función Array() Nada más que añadir. .
    1 point
  31. Oh que interesante, ahí me enseñas como se hace 😊 gracias Gerson.
    1 point
  32. Prueba a ver si es eso. Abre el adjunto y pulsa sobre el rectángulo azul. Modelo2.xlsm
    1 point
  33. ... y ya que estamos... ¿conocéis algún curso, formación o vídeo donde se enseñe a modificar la cinta con ese programa?
    1 point
  34. Hola @paikerr lo trabajo sin problemas en Office 365 y también lo he probado en versiones 2013,2016,2019 sin problemas. Saludos.
    1 point
  35. Hola! Casi te puedo asegurar que esos "fallos" no tienen que ver con que VBA sea "volátil" o que unos días amanece de buen o mal humor Lo que debes considerar que puede ser seguramente problemas de la PC de tu compañero, y no explícitamente Excel, además que Office 365 mantiene actualizaciones permanentes al igual que Windows 10, que pasa por constantes actualizaciones, y si estas no se registran, automáticamente crean conflictos que ni MS se molesta a veces en aclarar, solo te hablan de "parchos" y ya!, entonces esto lo esta sufriendo tu amigo [y tu ] Lo que menciona Abraham lo
    1 point
  36. Inténtalo en una sola linea: Sub MsgBox() CreateObject("WScript.Shell").Popup "Hello", 1, "Se cierra en 1 segundo" End Sub Saludos
    1 point
  37. lo mismo que te sugería "allá"... esta sola instrucción muestra el msgbox y se (auto)cierra a los 3 segundos (o los que indiques): createobject("wscript.shell").popup "mensaje con tiempo limite", 3, "titulo" las preguntas son: - que botones quieres mostrar ? - que acciones se siguen según lo que responda (o no) el usuario ? - algún otro detalle "en el tintero" ?
    1 point
  38. 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
    1 point
  39. Hola Antoni, con tu permiso quiero decirle a paikerr que para que se le quede el formulario tal cual lo solicita que modifique ...... Private Sub tbContacto_Change() tbCodigo.Enabled = True tbCodigo.BackColor = tbContacto.BackColor tbNombreFiscal.Enabled = True tbNombreFiscal.BackColor = tbContacto.BackColor '-- If tbContacto.ListIndex = 1 Then tbCodigo.Enabled = False tbCodigo.BackColor = Me.BackColor tbNombreFiscal.Enabled = True <<<<<<<<<<<<<<<<<<<<< por False tb
    1 point
  40. Hola José Esta al final del apartado https://ayudaexcel.com/foro/forum/3-dudas-y-consultas-sobre-excel/ Ya me comentarás Saludos
    1 point
  41. @tierra_pampa, SOLUCINADO!!! Muchas gracias.
    1 point
  42. Puedes probar a contraer todo el campo meta (botón derecho encima de la tabla) , entonces te dará los totales. Espero que te sirva.
    1 point
  43. Hola @Persal95 Una posible solución, Espero que sea de utilidad. Nos comentas.EJEMPLO AYUDA EXCEL 1.1.xlsx
    1 point


  • Newsletter

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

Important Information

Privacy Policy