我正在寻找一种暂时显示长项列表的好方法。
说我想在工作簿中看到可用的样式。这段代码几乎可以工作:
Sub StyleLister()
Dim sy As Style
For Each sy In ActiveWorkbook.Styles
msg = msg & vbCrLf & sy
Next
Call DisplayList(msg)
End Sub
Sub DisplayList(s As String)
MsgBox s
End Sub
我得到一个非常高大的MsgBox。它不够高,无法显示列表的底部,也没有滚动条可以到达列表的底部,但它有一个很好的 X 按钮来关闭该框。
如果我使用:
Sub DisplayList(s As String)
Dim AXTbox As Object
Set AXTbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=240, Top:=62.25, Width:=134.25, Height:= _
171)
With AXTbox
.Name = "MyBox"
.Object.Text = s
.Object.MultiLine = True
.Object.ScrollBars = 2
End With
AXTbox.Select
End Sub
我得到一个TextBox。如果我单击TextBox,我可以看到并使用滚动条。但是没有 X 按钮可以轻松解雇。
我想要两全其美 - 包括滚动条和解雇按钮。
有什么建议吗?
答案 0 :(得分:2)
为什么不添加excel一个用户表单,你可以在其中放置一个文本框,表单将有他自己的关闭按钮和你需要的所有空间。
快速搜索后,我发现this video on Youtube解释了如何将表单添加到Excel speardsheet中。