Limpiar listbox

12/10/2004 - 01:35 por Irene | Informe spam
Tengo el siguiente codigo que me introduce items en el
listbox2 dependiendo de la seleccion del listbox1, por
cada seleccion en el listbox1 necesito limpiar los items
del listbox2 y meter los nuevos o en su defecto quitar la
seleccion del listbox2, desafortunadamente me manda error
en la linea "listbox2.clear", "error no especificado"

ListBox2.Clear
For r = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(r) Then
c = ListBox1.List(r)
ListBox2.RowSource = "" & c
End If
Next r
For rr = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(rr) Then
cc = ListBox2.List(rr)
Cells(2, 1) = cc
End If
Next rr

si quito la linea "listbox2.clear", al dar clic en un item
del listbox2 (esto se ejecuta por el evento click) el
codigo se ejecuta correctamente, el problema esta en que
si dan click sobre otro item del listbox1 este se ejecuta
sin tener que dar click sobre un item del listbox2 ya que
el item del listbox2 se queda seleccionado por la
seleccion del item del listbox1 anterior, existe otra
forma de limpiar el listbox o en su defecto quitar la
seleccion?

Espero haberme explicado y de igual manera poder contar
con su ayuda
 

Leer las respuestas

#1 Irene
13/10/2004 - 00:55 | Informe spam
Gracias Fer, y disculpa la estructura, solo asi no me
pierdo, pero bueno voy a seguir tu consejo, por otro lado
permiteme explicarte como funciona mi codigo, supongamos
que tengo lo siguiente:

A B C D
1 Polanco Valles Mante Mty
2 Pb Pb PB Mezann
3 1 1 1 Pb
4 2 Pa 2 1
5 3 3 2
6 Azot

los nombres de la fila 1, columnas a,b,c y d son los
item's del listbox1, cada uno por debajo tiene niveles
(pisos de un edificio), dependiendo de la seleccion del
listbox1 me tendra que poner en el listbox2 el listado que
se encuentra por debajo de cada uno de los nombre de la
fila 1, es decir,

si selecciono en el listbox1 "Polanco" el listbox2 me
debera mostrar:

Pb
1
2
3
Azot

y asi sucesivamente, hasta aqui todo esta ok, el problema
es que cuando selecciono otro item del listbox1
p.e. "Valles" si me pone en el listbox2

Pb
1
Pa

pero si la seleccion anterior del listbox2 concuerda con
la siguiente seleccion del listbox1, p.e. "Pb" o "1", se
ejecuta el codigo, como te habia mencionado este se
ejecuta dando click en el listbox2.

trate con ListBox2.Clear pero me arroja error, tambien
probe con ListBox2.Selected(rr) = False pero no me hace
nada, ambos los pongo al inicio del listbox1 antes del For

Espero que el ejemplo sirva para que me ayudes a
solucionar esto

Gracias Irene

Preguntas similares