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

Preguntas similare

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
#2 Völkl
13/10/2004 - 21:21 | Informe spam
Comprueba la fecha de tu ordenador, hoy es dia 13

"Fer" ha escrit en el missatge dels grups de
discussió:OL%
Mostrar la cita
voy
Mostrar la cita
#3 Irene
14/10/2004 - 00:24 | Informe spam
No tendria inconveniente en mendarte el archivo,
desafortunadamente al ejecutarlo hace extraccion de datos
de otros libros y estos no estan en mi poder, por otro
lado quizas exista una forma de conexion entre tu equipo y
el mio para mostrarte el funcionamiento de los codigos,
dime si se puede

Gracias Irene

Mostrar la cita
programa en vb y
Mostrar la cita
grups de
Mostrar la cita
confundido.
Mostrar la cita
que seguro lo
Mostrar la cita
en 0, no te va a
Mostrar la cita
escribió en el mensaje
Mostrar la cita
me
Mostrar la cita
otro lado
Mostrar la cita
supongamos
Mostrar la cita
niveles
Mostrar la cita
del
Mostrar la cita
listado que
Mostrar la cita
de la
Mostrar la cita
me
Mostrar la cita
problema
Mostrar la cita
concuerda con
Mostrar la cita
o "1", se
Mostrar la cita
tambien
Mostrar la cita
hace
Mostrar la cita
del For
Mostrar la cita
#4 Irene
14/10/2004 - 01:40 | Informe spam
otra cosa que olvidaba mencionar, en el contenido de la
variable "c" queda guardado el nombre de la seleccion del
listbox1, este nombre hace referencia a un nombre de rango
definido, es decir, en lugar de poner listbox2.rowsurce
= "a1:a10" utilizo listbox2.rouwsource = "" & c para que
me de como resultado listbox2.rowsource = "XXXX"
donde "xxxx" es el nombre del item de la seleccion del
listbox1, este nombre contiene el listado de niveles de un
almacen

espero me puedas ayudar



Mostrar la cita
confundido.
Mostrar la cita
que seguro lo voy
Mostrar la cita
0, no te va a
Mostrar la cita
el mensaje
Mostrar la cita
lado
Mostrar la cita
que
Mostrar la cita
problema
Mostrar la cita
For
Mostrar la cita
#5 Fer
15/10/2004 - 08:53 | Informe spam
Hola:
Proba con esto

ListBox2.Clear

For r = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(r) Then
c = ListBox1.List(r)
ListBox2.AddItem c
End If
Next r

For rr = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(rr) Then
cc = ListBox2.List(rr)
Sheets(1).Cells(2, 1) = cc
End If
Next rr

1º Te aconsejo que respetes el lenguaje estructurado
2º No entiendo el 2º For Next, ya que al ejecutar el procedimiento jamás
podría haber un item seleccionado eb el ListBox2

Saludos, fer




"Irene" escribió en el mensaje
news:2eab01c4afeb$0b5fce60$
Mostrar la cita
Ads by Google
Search Busqueda sugerida