Jump to content

Texto más repetido en una columna.


Go to solution Solved by pinoji,

Recommended Posts

Hola colegas, Buenos días, espero se encuentren bien de salud.

Hoy desde mi móvil.

Necesito con VBA extraer el nombre o cadena de texto que más se repite en una columna. No tengo archivo, solo es una consulta para un futuro proyecto.

Gracias mil a todos.

Saludos. 

Pino

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Para mostrar más de un nombre hay que modificar el código, es decir si hay dos o tres o ..... que se repiten el mismo número de veces y coincide que son los que más se repiten con este código te mostrará solamente uno, tu dirás si hay que modificarlo

 

Link to comment
Share on other sites

Private Sub CommandButton1_Click(): Application.ScreenUpdating = False

    With Hoja3
        For X = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            .Range("B" & X) = WorksheetFunction.CountIf(.Range("A1", "A" & X), .Cells(X, 1))
        Next X
        mayor = Application.WorksheetFunction.Max(.Columns(2))

        Set c = .Range("B1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Find(mayor, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            Nombre = .Cells(c.Row, 1)
        End If
        Columns(2).Delete
        MsgBox "Nombre más repetido " & Nombre & " " & mayor & " veces"
    End With
    
End Sub

 

Link to comment
Share on other sites

  • Solution

Buenas tardes colegas.

Gracias mil al profesor Sergio y al profesor JSD.

El enlace que me dejó el profesor Sergio lo voy a revisar en la noche con más tiempo, en cuanto a usted pecador JSD, creo que está muy bien todo, si necesitaras más de un número iniciaré otro tema, pero creo que con esto resuelvo.

Gracias mil a ambos. Saludos al profesor Antoni, Abraham, Haplox, y los demás.

Excelente jornada para ustedes.

Un abrazo.

Pino

 

Link to comment
Share on other sites

Oh, disculpe usted, quise decir profesor, lo respeto sobremanera como para incurrir en semejante falta de respeto. Como dije estoy desde el móvil y mis dedos toscos contrastan con el diminuto teclado... En todo caso pecador Yo....jajajaja

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 41 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      155
    • Comments
      89
    • Reviews
      25

    Latest File
    By pegones1

    2    0

  • Crear macros Excel

  • Posts

    • Muchas gracias Victor por tu respuesta! En la hoja "Control" coloque los filtros Hour Type y Workplace.  La formula que me pasaste me sirve para poder seguir avanzando, mucha gracias! Voy a ver de puedo aplicar los filtros que requiero para continuar. De igual manera dejo un ejemplo de lo que querría que me traiga: Filtros aplicados: Hour type: "Total" Workplace: "Obra Ruta 23" Employee: Bernardo Banta celda: G15 de hoja "Control" Objetivo: Que, por los siguientes datos: Fecha (G10), Persona (C15), Workplace (AF6) y hour type (AF4), traiga el resultado de horas trabajadas ("7,25" correspondiente a la suma de los registros 5 y 6 de la hoja "2023" coloreados en naranja). A su vez, si cambio el filtro de tipo de hora es "normal", que solo aparezca las horas normales (7)y no los overtime(0,25).   Check in control.xlsx    
    • ................y bueno, sólo como pequeño ejemplo, esta fórmula: =SUMAPRODUCTO(($C15='2023'!$D$2:$D$76)*(E$10='2023'!$A$2:$A$76)*'2023'!$I$2:$I$76) introducida en E15 de la hoja 'Control', te devolvería el total de horas (columna I de la hoja '2023'), del día correspondiente a la columna (E10), y el empleado de esa fila (en este caso, Bernardo Banta). Si copias la fórmula horizontal y verticalmente, tendrás los mismos resultados, por día y empleado. ? ? Saludos,
    • Hola, @ArNurSanti. Sólo 2 cosas: 1).  Si seleccionas  el rango A2:A76, haces clic en la hoja 'Datos', seleccionas 'Texto en columnas', 'Finalizar', el rango se transformará [como por arte de magia] en fechas reconocidas por Excel. 2).  La fórmula que tienes en C15 de la hoja 'Control' la puedes cambiar por: ='2023'!N2# que es más corta y da los mismos resultados. - - - - - - - - - - - - - - - - - - - A partir de aquí, creo que lo más conveniente es que vuelvas a subir el archivo con algunos de los resultados que esperas introducidos a mano para entender fondo y forma del problema; hablas de filtros por horas normales, extras, pero al menos yo no tengo claro cómo identificar esas variables, al igual que dónde están situados tales filtros (sólo veo un desplegable para elegir mes). Saludos,
    • Buenos días,   Mi situación es la siguiente, y de antemano agradezco todo tipo de ayuda me que me puedan aportar: Estoy trabajando en el armado de una plantilla Excel en donde pueda visualizarse, mediante filtros aplicables por el usuario, las horas trabajadas normales, las horas extras, las horas extras al 200%. Toda esta información la importo al Excel desde una aplicación que usamos en la empresa y se expresa tal cual se ve en la primera hoja("2023", Columna A - M, los datos de las columnas N y O son agregados mios). El problema radica en el armado de una formula valide varios datos y que exprese las horas indicadas en la base de datos según la siguiente información :   - Fecha  - Empleado  -  Filtro Lugar de trabajo (Workplace) -  Filtro Tipo de hora (hour type) Mas específicamente se me complica en el hecho de que la fecha de la primera columna que importo de nuestro sistema, el excel no me la reconoce como fecha (Se puede ver en el ejemplo J15 de la hoja "Control" donde uso =O(J10='2023'!A7)  ) Por otra parte no sabría como hacer la validacion multiple segun los filtros indicado; y en el caso de que el filtro sea "Todo", se haga la suma de las horas normales + extras. Muchas gracias         Check in control.xlsx
    • Sube tu archivo a un servidor en la nube (Mega, OnDrive, Dropbox,.....) y compártelo.  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy