HOME > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > フォームとコントロールの活用−フレームを使って擬似ツールバーを作る

即効テクニック

ユーザーフォーム関連のテクニック

フォームとコントロールの活用−フレームを使って擬似ツールバーを作る

(Excel 97/2000)

エクセルのフォームではメニューやツールバーを作成することができません。そこで、フレームをコンテナとし、この中にコマンドボタン等のコントロールを配置することで擬似的にツールバーを作成します。

(前提):フレーム(Frame1)、フレーム内にコマンドボタン×5(CommandButton1 - 5)ボタンFace用のPicture - ".ico, .bmp"など(MyIcon1.ico−MyIcon5.ico)をブックと同じフォルダーに配置

※フレーム位置、コマンドボタンの位置はユーザフォーム初期化イベントにて調整します。
※テスト用のアイコンファイルはWindowsメニューの”検索 − ファイルやフォルダ”から"*.ico"として検索するといくつかパソコン内から検索できるでしょう。コピーしてリネームの上、ブックと同じフォルダーに入れておいてからサンプルを実行してください。
Private Sub UserForm_Initialize()

Dim FT As Integer, FL As Integer, TH As Integer, TW As Integer
Dim i As Integer
FT = 15: FL = 15 'FrameのTop,Left設定用
TH = 30: TW = 30 'トグルボタンの高さ、幅

With Me.Frame1
.Caption = ""
.SpecialEffect = fmSpecialEffectSunken
.Top = FT
.Left = FL
.Height = TH + 3 'フレームの高さ調整
.Width = TW * 5 + 3 'フレームの幅調整
End With

For i = 1 To 5
With Me.Frame1.Controls("CommandButton" & i)
.Caption = ""
.Top = 0
.Left = TW * (i - 1) '左位置調整
.Height = TH
.Width = TW
.Picture = LoadPicture(ThisWorkbook.Path & "\MyIcon" & i & ".ico")
End With
Next i

End Sub