使用户窗体看起来像是在Excel工作表中,而不是单独的



我希望我的用户表单看起来就像它实际上是Excel工作表的一部分,而不是Excel工作簿中的一个单独窗口。我无法使用实际位于工作表中的ActiveX控件,因为我需要为组合框指定RawSource,这不是ActiveX版本下的选项。有没有一种方法可以让我的用户表单看起来像是在工作表中,就像我使用ActiveX控件时一样?

您不能使用户窗体出现"在";纸张。

我不知道你的要求背后有什么想法。如果你想同时使用表格和表格,你可以显示你的表格非模态(userform1.show False(

但是,您可以使用ActiveX控件。可以从VBA访问这些控件,并将rowSource(特性名为ListFillRange(设置为Range,也可以单独设置项(但不能混合使用(。

设置为范围:

Dim ctrl As OLEObject
Set ctrl = ThisWorkbook.Worksheets(1).OLEObjects("ComboBox1")
ctrl.ListFillRange = "A2:A10"

设置为单个项目列表:

with ctrl
.ListFillRange = ""    ' Make sure that ListFillRange  is empty
With .object           ' "Object" is the real ComboBox object
.clear
.AddItem "Cheese"
.AddItem "Tomato"
.AddItem "Onion"
.AddItem "Ham"
.AddItem "Olives"

.Value = "Onion"
End With
End With

如果你愿意,你也可以写

Sheet1.ComboBox1.ListFillRange = "A2:A10"

Sheet1.ComboBox1.Clear
Sheet1.ComboBox1.AddItem "Hello"

这假设图纸的codeNameSheet1-该codeName在VBA工程视图中可见,并且可能与图纸名称不同。

相关内容

最新更新