¿Cómo agregar combobox a excel mediante vb.net?
Estoy creando una aplicación en vb.net esta aplicación me debe
de crear un reporte en Excel al crear mi reporte debo de agregar combobox a la
hoja de Excel y llenarlos con información, actualmente los intento llenar con información
de un rango de celdas del mismo Excel.
Mi combobox lo creo desde vb.net con el siguiente código:
Dim xlApp As Excel.Application
Dim
xlBook As Excel.Workbook
Dim
xlSheet As Excel.Worksheet
Dim
xlcombobox As Excel.OLEObject
Dim
iStartLine As Long
xlApp = New
Excel.Application
xlApp.Visible = True
xlBook = xlApp.Workbooks.Add
xlSheet = xlBook.ActiveSheet
xlcombobox =
xlSheet.OLEObjects.Add(ClassType:="Forms.combobox.1",
_
Link:=False,
DisplayAsIcon:=False, Left:=1, Top:=25,
Width:=72, Height:=24)
xlcombobox.Name = "clientes"
With
xlBook.VBProject.VBComponents.Item(xlSheet.CodeName).CodeModule
iStartLine = .CreateEventProc("Click", "clientes")
+ 1
.InsertLines(iStartLine, "loop")
.InsertLines(iStartLine, "clientes.additem activecell")
.InsertLines(iStartLine, "activecell.offset(1,0).select")
.InsertLines(iStartLine, "do while activecell <> empty")
.InsertLines(iStartLine, "range(a13).select")
.InsertLines(iStartLine, "clientes.clear")
End With
xlApp.VBE.MainWindow.Visible = True
Al abrirme el Excel no me marca ningún error, pero al darle
click al combobox no aparece nada, entonces entro en ese Excel para ver el código
el cual me queda así:
Private Sub
clientes_Click()
clientes.Clear
Range(a13).Select
Do While
ActiveCell <> Empty
ActiveCell.Offset(1,
0).Select
clientes.AddItem ActiveCell
Loop
End Sub
Y le doy a al símbolo de play en la hoja de código y es
cuando me marca el error 1004 en tiempo de ejecución.
Ayuda en que estoy mal, como puedo arreglar mi código o proporciónenme
un código alternativo por favor. Muchas gracias por su ayuda.