Saltar al contenido

Contar datos unicos de un listbox sin duplicados y dejarlo en un textbox


Recommended Posts

Buenos dias espero me puedan ayudar Tengo un código que me cuenta los datos de una columna de un listbox y me los deja en un textbox, Pero en la columna del listbox tengo datos duplicados. Lo que necesito es solo que me cuente datos únicos y dejarlos en el textbox

Este es el código que uso ahora

For x = 0 To ListBox1.ListCount - 1
If ListBox1.List(x, 7) <> "" Then
m = m + 1
End If
Next
TextBox6.Value = m

me podrían ayuda por favor y de ante mano muchas gracias

Enlace a comentario
Compartir con otras webs

De este código:

Hace 9 horas, howling dijo:

For x = 0 To ListBox1.ListCount - 1
If ListBox1.List(x, 7) <> "" Then
m = m + 1
End If
Next
TextBox6.Value = m

Reemplaza con este:

Hoja3.Activate
Range([a1], [a1].End(xlDown)).AdvancedFilter xlFilterCopy, , [J1], True: TextBox1 = WorksheetFunction.Subtotal(103, Columns("J")) - 1: Columns("J").Clear
Hoja1.Activate

Saludos,

 

Diego...

Copia de PRUEBA pRUEBA.xlsm

Enlace a comentario
Compartir con otras webs

gracias diego por tu pronta respuesta, acabo de verificar el archivo pero no me funciono el codigo, no se si sera por la diferencia de excel o sera por que mi explicacion no fue buena, pero esencial mente nesecito un codigo que cuente los datos unicos de la columna hora en el userform y el resultado lo coloque en un textbox

por ejemplo si tengo en la columna hora del userform lo siguientes datos:

13:35
13:35
13:35
13:35
14:51
15:01
15:02
15:06
15:06
15:06
15:06
15:40

entonces en el textbox debería salir el nº6 ya que esa es la cantidad de datos unicos que hay en la columna hora del userform, el codigo que coloque al principio cuenta,pero incluye los duplicados 

espero haberme explicado mejor y espero seguir recibiendo ayuda en este foro, gracias de ante mano

PRUEBA pRUEBA.xlsm

Enlace a comentario
Compartir con otras webs

No analizaste lo que hace el código verdad?

Solo es cambiar la columna:

Hoja3.Activate
Range([H1], [H1].End(xlDown)).AdvancedFilter xlFilterCopy, , [J1], True: TextBox1 = WorksheetFunction.Subtotal(103, Columns("J")) - 1: Columns("J").Clear
Hoja1.Activate

Checa nuevamente el archivo,

Saludos,

 

Diego.

Copia de PRUEBA pRUEBA.xlsm

Enlace a comentario
Compartir con otras webs

hola diego, tenias razon  no lo analice en profundidad tu código ya que estaba un poco ocupado con el trabajo, agradezco tu tiempo y la paciencia para ayudar a las personas de este foro y me alegra decir que funciono perfectamente, gracias por tu ayuda y doy por terminado este tema

Enlace a comentario
Compartir con otras webs

Hola!

Otra alternativa podría ser así:

Private Sub UserForm_Initialize()

With Hoja2
    vuf = .Range("A" & .Rows.Count).End(xlUp).Row
    .Range("H5:H" & vuf).AdvancedFilter 1, , , 1
    For Each c In .Range("H5:H" & vuf).SpecialCells(12)
        ComboBox1.AddItem c.Text
    Next
    ComboBox1.RemoveItem 0
    Me.TextBox1 = ComboBox1.ListCount
    .ShowAllData
End With

End Sub

 

Saludos a todos!

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.