1

アイテムの長いリストを一時的に表示する良い方法を探しています。

ワークブックで使用可能なスタイルを確認したいとします。このコードはほぼ機能します:

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ボタンはありません。

スクロール バーと非表示ボタンの両方の長所が必要です。

助言がありますか??

4

1 に答える 1

2

テキストボックスを配置できるユーザーフォームをExcelに追加してみませんか。フォームには、独自の閉じるボタンと必要なすべてのスペースがあります。

簡単に検索した後、Excel のスピアドシートにフォームを追加する方法を説明するこのビデオを Youtubeで見つけました。

于 2013-10-19T22:24:45.677 に答える