Columnas discontinuas en listbox

14/04/2006 - 03:56 por klomkbock | Informe spam
Hola a todos,

Estoy intentando rellenar un listbox de un formulario con un array formado
por tres campos que varian segun unos optionbutton y que pueden no ser
continuos.
Ej:
Dim Titulo as Range, Autor etc
Set Titulo = Range(.etc
Sub .
If optTitulo = True Then
CamposLista = Array(Titulo, Autor, Genero)
ElseIf optPais = True Then
CamposLista = Array(Titulo, Autor, Pais)
End If
' lstSeleccionar es el listbox
lstSeleccionar.List = CamposLista

Realmente lo he probado de varias maneras mas, con redim, con las
propiedades additem, rowsource, con el evento initialize, poniendo el
array en el codigo de cada optionbutton,... y no consigo que me aparezcan
mas que errores. Primero el "Error 70 permiso denegado" que no me dejaba
ejecutar el formulario¿¿??, luego el 381 (creo que resuelto) y ahora,
usando redim, me da el 13, no coinciden los tipos, pero el array esta
declarado como variant.

Si me podeis ayudar o en su defecto darme un enlace a las preguntas y
respuestas sobre los listbox o combobox del foro os lo agradezco.

De antemano muchas gracias.
Un saludo y hasta pronto.
Ivan
 

Leer las respuestas

#1 klomkbock
15/04/2006 - 01:55 | Informe spam
Hola a todos de nuevo.

Lo primero disculparme por duplicar consultas. Este mensaje lo mande al no
aparecer en este foro (grupo de noticias - tu tiempo.net, que es al que yo
accedo normalmente) uno anterior sobre el mismo tema, aunque un poco mas
extenso (incluia todo el codigo usado), pero he descubierto que en el foro
de google si aparecen los dos.

Luego decir que ya he ¿resuelto? la duda, aunque por otra via que no se
muy bien si me valdra al final. Esto es lo que he hecho en cada
optionbutton:

Private Sub optPais_Click()
With Worksheets("Listado")
' corto el rango elgido con el optBut.
.Range("F:F").Cut
' y lo inserto para formar un rango continuo
.Range("D:D").Insert
End With
lstSeleccionar.RowSource = "Listado!b2:d200"
With Worksheets("Listado")
' vuelvo a colocar el rango en su sitio
.Range("d:d").Cut
.Range("G:G").Insert
End With
End Sub

Ahora estoy intentando que las entradas al listbox (lstSeleccionar) se
restrinjan en funcion de la aproximacion al texto introducido en un
textbox (tambien podria ser en un combo) pero tambien en funcion de los
optionbutton,
o sea, que compare lo escrito en el textbox con los registros del campo
indicado con el optB. y los filtre dejando solo los coincidentes. Estoy
probando con autofiltro pero no lo consigo. Quizas con un combo y
matchentry o algo parecido. Bueno, de nuevo, si me podeis ayudar os lo
agradezco.

De antemano gracias.
Un saludo y hasta pronto.
Ivan.

PD: ya he encontrado los foros con las respuestas.
PPD: en cualquier caso si alguien me aclara lo de las matrices (aparte de
la sintaxis de redim) en la primera consulta se lo agradezco.

Preguntas similares