Declarar control activex por código en excel

Intento usar un control que he declarado por código:

Dim lb as listbox

lb.add ("hola mundo")

pero me da error en la instrucción .add, como puedo acceder a las propiedades del control habiéndolo declarado por código?, y como se muestra o dibuja el control en la hoja excel?

Gracias.

1 Respuesta

Respuesta
1

Prueba de esta manera:

Dim lb As ListBox
lb.AddItem "s", 0

donde: S= texto que tiene el listbox,

0= indice.

el mismo error:

variable de objeto o bloque with no establecido.

Como se mostraría o dibujaría el control en la pantalla?

saludos

Para dibujar un Listbox lo más recomendable es agregar un control userForm; pero si solo deseas agregarlo sobre la misma hoja puedes hacerlo de la siguiente manera:

1. El control listbox toma los datos de un rango de celdas y vincula si valor a otra celda,

2. Prueba el siguiente método:

Public Sub Test_control()
ActiveSheet.ListBoxes.Add(57.75, 35.25, 119.25, 22.5).Select
With Selection
' Rango de celdas de donde toma la información
.ListFillRange = "$F$1:$F$12"

' Celda donde se vincula el valor
.LinkedCell = "$G$1"

' Configuración de presentación

.MultiSelect = xlNone
.Display3DShading = True
End With
End Sub

Ahora si deseas agrear un control listbox ActiveX nativo como tal, puedes usar este código:

ActiveSheet.OLEObjects.Add(ClassType:="Forms.ListBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=60, Top:=16.5, Width:=179.25, Height:= _
58.5).Select

Esto dentro de cualquier método sub.

Hola, gracias por tu ayuda, ya veo que la propiedad OLEObjects funciona bien, pero el caso es que yo tengo un usercontrol creado por mi en vb.net, que ya he conseguido registrarlo como COM y tenerlo en excel, puedo declarar tantas instancias como quiera y acceder a sus propiedades para asignar y consultar valores. Pero lo mas importante, es que no consigo que se vea el control en excel. Dado que es un control para imágenes gif animadas, me es necesario que el control se vea, pero no se como agregarlo a una hoja o un userform. OLEObjects.add no veo que disponga de usercontrol, Alguna idea?

Saludos

pd. he probado con createobject, pero me da error diciendo que no se puede crear!

Si gustas, envíame el control para darte una mano..

claro!, me das un email para enviártelo? o lo subo a algún servidor de archivos?

Claro mi mail es [email protected].

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas