Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Otra opción es crear otro modulo igual pero en vez de devolver max devolver columna. Pero me parece muy chapu hacer correr 2 veces la misma función.
  3. Hola a todos. Parece que la respuesta en el foro amigo: https://foro.todoexcel.com/threads/fórmula-para-devolver-puntuación-según-clasificación-en-desplegable.52037/ No fué de su agrado. Saludos.
  4. Today
  5. os paso el excel perdón por no subirlo prueba.xlsm
  6. Sube tu archivo, porqué, efectivamente, no lo has hecho bien.
  7. Disculpa que no haya contestado antes. Voy contestando los mensajes en orden y me he entretenido un buen rato a raíz de la última macro que envió Antoni. Lo he probado y me va a resultar muy útil. Se agradece mucho el aporte. 👍😃
  8. Estupendo JSDJSD, te has adelantado a uno de los próximos ejercicios que quiero realizar. Una macro muy muy útil. Muchas gracias a ti, y como dice en el propio código también "le agradecemos el macro a 3pies" 😄
  9. Hola, La duda que me surge, es como hacer para obtener 2 valores de un modulo. Os dejo el programa del modulo que es un max si 2 condicionantes. La idea es ademas de obtener el valor maximo es obtener numero de contador para saber de que celda lo ha obtenido. He probado declarando la variable columna como publica y o no lo he echo bien o no ha funcionado. Alguna idea??? Function MAXIF2(RngMaximos As Range, RngCriterios As Range, Criterio As Variant, RngCriterios2 As Range, Criterio2 As Variant) As Double Dim c As Range Dim Max As Double Max = 0 counter = 1 For Each c In RngMaximos If RngCriterios(counter) = Criterio And RngCriterios2(counter) = Criterio2 Then If c.Value > Max Then Max = c.Value columna = counter End If End If counter = counter + 1 Next MAXIF2 = Max End Function
  10. Muchas gracias Andoni. Me ha servido para investigar sobre "CurrentRegion" y por el camino entender otros conceptos que me resultaban confusos. Se agradecen mucho cada una de vuestras aportaciones.
  11. Después de ejecutar la macro Click, me aparece así. ¿He hecho algo mal? Saludos amigo
  12. Una más: Sub Resumen() Dim BASE, ANUAL, FILA, COLUMNA, TEXTO, UFILA, UCOLUMNA '-- Set BASE = Sheets("BASE") Set ANUAL = Sheets("ANUAL") '-- UFILA = ANUAL.Range("A" & Rows.Count).End(xlUp).Row + 1 UCOLUMNA = ANUAL.Cells(1, Columns.Count).End(xlToLeft).Column + 1 ANUAL.Range("C2", ANUAL.Cells(UFILA, UCOLUMNA)).ClearContents '-- For x = 2 To BASE.Range("A" & Rows.Count).End(xlUp).Row If Not UCase(BASE.Range("O" & x)) = "RECHAZADO" Then Set FILA = ANUAL.Columns("A").Find(BASE.Range("E" & x), , xlValues, xlWhole) Set COLUMNA = ANUAL.Rows(1).Find(BASE.Range("I" & x), , xlValues, xlWhole) If Not FILA Is Nothing And Not COLUMNA Is Nothing Then TEXTO = "|" & BASE.Range("C" & x) & "-" & BASE.Range("D" & x) & "-" & Format(BASE.Range("M" & x), "0.00") If ANUAL.Cells(FILA.Row, COLUMNA.Column) = "" Then TEXTO = Mid(TEXTO, 2) ANUAL.Cells(FILA.Row, COLUMNA.Column) = ANUAL.Cells(FILA.Row, COLUMNA.Column) & TEXTO End If End If Next End Sub
  13. Has probado el segundo archivo que te compartí ?
  14. Muchas gracias a ambo. Me ha sido de grandísima utilidad
  15. Lo mismo, de otra manera sin considerar los acentos. Function Similitud_Porcentual(Cadena1 As String, Cadena2 As String) As Integer Dim Texto1 As Variant, Texto2 As Variant, x As Integer, Veces As Integer If Cadena1 = "" Or Cadena2 = "" Then Exit Function '-- Cadena1 = Homogeneizar(LCase(Cadena1)) Cadena2 = Homogeneizar(LCase(Cadena2)) '-- Texto1 = Split(Cadena1) Texto2 = Split(Cadena2) Total = UBound(Texto1) + 1 If UBound(Texto2) > UBound(Texto1) Then Total = UBound(Texto2) + 1 '-- For x = 0 To UBound(Texto1) If UBound(Filter(Texto2, Texto1(x))) > -1 Then Veces = Veces + 1 End If Next Similitud_Porcentual = Round(Veces * 100 / Total, 0) End Function Function Homogeneizar(Cadena As String) As String Homogeneizar = Replace(Cadena, "á", "a") Homogeneizar = Replace(Homogeneizar, "é", "e") Homogeneizar = Replace(Homogeneizar, "í", "i") Homogeneizar = Replace(Homogeneizar, "ó", "o") Homogeneizar = Replace(Homogeneizar, "ú", "u") Homogeneizar = Replace(Homogeneizar, "ü", "u") End Function
  16. Una manera de hacerlo podría ser así. Ejm080420.xlsm
  17. Hola, de nuevo por aquí para hacerles una consulta, tengo un modulo de 32 bits con un código, este me funciona bien en compu de 32 bits, pero no asi en compu de 64 bits, la consulta es la siguiente, puedo poner un modulo con el código de 32 bits. y otro con el de 64 bits, para que me funcionen indistintamente, es posible, se podrían combinar sin problemas, aquí les dejo el codigo Gracias por anticipado, un cordial saludo a todos los foreros Módulo32Bits.bas Módulo64bits.bas
  18. Mil gracias JSDJSD. Me va a servir de mucha utilidad. Es tan sencillo que no da pereza utilizarlo, jja
  19. Saludos a todos En el archivo que adjunto, tengo la hoja datos donde tengo un registro de movimientos, en la hoja anual en columna AyB pongo los datos manual, lo que deseo es que me busque de A2:A? el id en la hoja base columna E, que verifique que el estatus sea operado, si es así, regresar a la hoja anual y buscar la fecha y traer de la hoja base los datos de las columnas C, D y M, en algunas fechas puede tener varios movimientos por ejemplo id 6580, 6582, en caso de que el estatus sea rechazado no se debe registrar en la hoja anual. Agradezco de antemano su ayuda y/o sugerencias Saludos Ejm080420.xlsm
  20. Yesterday
  21. Hola a todos! Quisiera saber cómo puedo lograr que una tabla dinámica me arroje como resultado el último valor de una base de datos. En el siguiente ejemplo quisiera que: Pedro = 100 ; Ana = 200 ; Jean = 400 Estaré atento, muchas gracias! Libro3.xlsx
  22. Te dejo otra opción que consiste en que cada vez que pulses el botón te aparece una palabra aleatoria de tu base de datos. Ejercicio (1) Prueba (2).xlsm
  23. Otra versión mas: Public Sub Elegir_Palabra_III() Sheets("Juego").Range("C7") = "" For Each Fila In Sheets("Palabras").Range("B2").CurrentRegion.Rows If Sheets("Palabras").Range("D" & Fila.Row) = 1 Then Sheets("Juego").Range("C7") = Sheets("Palabras").Range("B" & Fila.Row) Exit For End If Next End Sub
  24. Hola, Gerson Pineda y Antoni. No te preocupes por mi solicitud En cuanto a la fuerza para hacer (Intentando y volviendo a intentar) Al final lo hice. Por lo tanto, sin ofensa, me gustaría ofrecerle mi pequeña contribución. Tal vez podría ser útil para otras personas que solicitan su ayuda en este maravilloso foro. Muchas gracias, sigues siendo genial. Ven a España con Coronavirus, estaremos Todos nosotros. Saludos desde A.MaurizioMulti-Selezione - Con Convalida Dati.xlsm
  25. Hola te comparto tu adjunto con la función que has encontrado en Internet. Ejemplo (2)prueba(1).xlsm
  26. A ver si mañana tengo tiempo de probarlo y te cuento, Toldeman. Gracias! 😄
  27. Pues es que el fichero tiene mogollón de hojas, código a medias..... Ahora mismo, todavía es un caos. Cuando lo tenga apañado, ya lo subo y os pregunto lo que no he sido capaz de resolver ni si quiera con vuestros consejos y así podéis iluminarme y divertiros también un rato, claro.. Os dejo criticar y que os llevéis las manos a la cabeza por falta de eficiencia del código y tal y tal...(miedo me da...😅 ) jajajajajajajaja... 😊🌸
  1. Load more activity
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png