Ayuda con listbox

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Ayuda con listbox

Notapor david_erh » 05 Ago 2006 18:35

Hola a todos; estoy tranajando en un formulario que me ayude a realizar liquidaciones de servicios de transporte; en la hoja que adjuntos está la tabla; a la vez tengo un formulario;la idea es q en el formulario se pueda escoger con los list box la agencia y el mes del cual se quiere hacer la liquidación; luego al darle al boton "buscar" este muestre en la lista de abajo los nombres de los clientes que nos solicitaron servicios; eso lo hace; pero yo quiero que si se hizo mas de un aservicio a un cliente en el mes solo me lo muestre solo una vez; algo parecido a cuando se hace autofiltro y cuando seleccionas te salen solo una vez cada uno de los datos.

¡¡ Lo q se viene !!; je je je .
Se supone q luego, en ese mismo formulario ( y con otra hoja como un tarifario) si le doy click al boton "detalle" en el listbox de la derecha deben e aparecer "los servicios de ese cliente durante el mes con sus respectivos precios y el total mas abajo"; ya se q suena a sueño, pero espero me funcione

Por ahora solo espro que me ayuden con la primera parte.

Saludos y gracias por la ayuda que puedan prestarme.

David
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
david_erh
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Mar 2006 15:25

Re: Ayuda con listbox

Notapor Adrian » 06 Ago 2006 15:33

Una sugerencia por que no hace un filtro avanzado primero, modifique el xls, selecciona en la celda K8 el mes, L8 Agencia luego ubica el curso dentro de la BD por ejemplo E16, toma Datos/Filtros/Filtro Avanzado, seleciona Copiar a otro lugar, despues le das la dirección de la BD: $A$1:$I$106, la dirección de los criterios $K$7:$L$8, la dirección destino $K$14, ymarcar registros únicos.

No es precisamente lo deseado pero por ahí­ de da una nueva idea.

Atte.


PD: Examina el Adjunto.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Ayuda con listbox

Notapor david_erh » 07 Ago 2006 14:08

Gracias por la Ayuda Adrian; voy a darle vueltas al asunto; creo que con la salida qu eme diste puedo haer mucho.
Gracias otra vez.

David
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
david_erh
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Mar 2006 15:25

Re: Ayuda con listbox

Notapor david_erh » 10 Ago 2006 23:03

Encontre el codigo necesario para eliminar duplicados en una listbox; lo he probado y funciona pero de manera limitada; me explico; cuando en el formulario escojo como agencia "MICKY TOURS", y el mes "Ene" , funciona correctamente; o si escojo como agencia "VIVENTURA" y el mes Ene, también funciona correctamente; pero si escojo como agencia "HCT" y el mes de "Ene", ya no funciona he visto paso a paso y en un momento el bucle termina y yo no encuentro el ¿por que?, espero alguien de con el problema.

Acá pego el código, a parte que lo he agregado ya en la parte final del codigo del formulario.
Código: Seleccionar todo
Public Sub Duplicados(listbox As listbox)
Dim Search1 As Long
Dim Search2 As Long
Dim KillDupe As Long
    KillDupe = 0
    For Search1& = 0 To listbox.ListCount - 1
    For Search2& = Search1& + 1 To listbox.ListCount - 1
    KillDupe = KillDupe + 1
    If listbox.List(Search1&) = listbox.List(Search2&) Then
        listbox.RemoveItem Search2&
        Search2& = Search2& - 1
    End If
    Next Search2&
    Next Search1&
End Sub
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
david_erh
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Mar 2006 15:25

Re: Ayuda con listbox

Notapor david_erh » 15 Ago 2006 13:37

Me respondo a mi mismo y espero q le sirva a alguien mas del foro; el codigo anterior no funcionaba así­ q trabajé en otro en base un codigo q encontré en internet y lo adapté a mi problema, lo adjunto a continuación, tal vez a alguien le sirva; saludos y hasta luego.

Código: Seleccionar todo
Public Sub Duplicados(lista As Object)
'Array con data
Dim Arreglo() As String
'Array temporal
Dim TempArray() As String

    Dim x As Integer, x2 As Integer, y As Integer
    Dim z As Integer, Elemento As Variant

Max = lista.ListCount - 1
ReDim Arreglo(Max)

For a = 0 To Max
        Arreglo(a) = lista.List(a)
Next

For i = LBound(Arreglo) To UBound(Arreglo)
          'Redimensionamos el Array temporal y preservamos el valor
          ReDim Preserve TempArray(i)
          'Asignamos al array temporal el valor del otro array
          TempArray(i) = Arreglo(i)
Next

For x = 0 To UBound(Arreglo)
        z = 0

        For y = 0 To UBound(Arreglo)
            'Si el elemento del array es igual al array temporal
            If Arreglo(x) = TempArray(z) And y <> x Then
                'Entonces Eliminamos el valor duplicado
                Arreglo(y) = ""
                Nduplicado = Nduplicado + 1
            End If
            z = z + 1
        Next y
    Next x
    lista.Clear
    'Recorremos el array. Para recorrer un array con ForEach
    'la variable de la coleccióndebe ser de tipo Variant
    For Each Elemento In Arreglo
        'Si el elemento es distinto de una cadena vacia
        'lo agegamos al List1
        If Elemento <> "" Then lista.AddItem Elemento
    Next
   
    'Mostramos el número de elementos repetidos que se eliminaron de la listbox
    MsgBox "Elementos duplicados: " & Nduplicado, vbInformation

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
david_erh
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Mar 2006 15:25

Re: Ayuda con listbox

Notapor p@li » 15 Ago 2006 13:50

yo habia mandado algo al foro
te lo paso

quizas te sirva de algo
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Re: Ayuda con listbox

Notapor david_erh » 17 Ago 2006 20:50

Gracias P@li, eres grande y admiro tu capacidad de ayuda q tienes.
David
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
david_erh
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Mar 2006 15:25

Re: Ayuda con listbox

Notapor p@li » 17 Ago 2006 21:52

Hola David, no parece tan dificil tu segundo pedido, me voy a tomar el atrevimiento de retocar tu archivo, cosa que hasta ahora no habí­a siquiera bajado a mi pc, pero hoy me dio curiosidad, y me parece que está bien armado como para hacer algunos cambios, voy a hacer el intento de mejorarlo, aprovechando que hasta el lunes no empiezo la facultad, y por el momento no tengo que darle a los libros.

Saludos.
p@li
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Re: Ayuda con listbox

Notapor p@li » 17 Ago 2006 23:57

David, a mi gusto quedo bastante bien, no pude comentar mucho, ya es tarde y estoy un poco cansado.
Espero puedas terminar tu proyecto con éxito, esto es solamente una idea, ojalá se parezca a lo que estás necesitando.

Saludos.
p@li
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados