
エクセルVBAで、ユーザーフォームを利用していますが、そのユーザーフォーム内にエクセルに最初から備わっているツールバーのコマンドボタンを貼り付けることは出来るのでしょうか?
というのも、図形をマウスで範囲選択して、選択された図形をDELETEで全部削除するマクロを組もうと思っているのです。
が、図形描画のツールバーに範囲選択をすると、その範囲内にある図形を全部選択できるコマンドボタンがあったので、その機能をそのままユーザーフォームに設置できればOKと思ったのですが・・・。
それと同様のことが出来るマクロを組めれば問題なのかもしれませんが、私にはちょっと無理そうです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんばんは。
こんな風にしたらどうですか?
オブジェクトの選択ボタンのIDは、182 ですから、FindControl で探して、設定し、
凹んだ状態を、○で表示。そのまま、オートシェイプ類を選択し、コントロールキーを押しながら、コマンドボタンを押すと、オートシェイプ類を削除。
UserForm が小さいほうがやりやすいようですね。なお、UserForm の プロパティの ShowModal は、False ですから、忘れないようにしてください。
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With Application.CommandBars.FindControl(, 182)
If Shift = 0 Then
If .State = msoButtonUp Then
.Execute
Me.CommandButton1.Caption = "○" '選択可
Else
.Execute
Me.CommandButton1.Caption = "●" '選択不可
End If
ElseIf Shift = 2 Then 'コントロールを押しながら
If TypeName(Selection) = "DrawingObjects" Then
Selection.Delete
End If
End If
End With
End Sub
完璧です。確かに出来ました。本当にありがとうございます。FindControlというやり方があるのは始めて知りました。これならいろいろと出来そうです。
No.4
- 回答日時:
#2 のWend02です。
追伸:
忘れていたけれども、必ず、以下のコードを入れて、ボタンを戻しておいてくださいね。ツールバーを出していませんから、ボタンが見えない状態で、そのままにすると、何が起こったか分らず、Excelのトラブルのようになりますから。(^^;
Private Sub UserForm_Terminate()
With Application.CommandBars.FindControl(, 182)
If .State = msoButtonDown Then
.Execute
End If
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- PDF PDFの表がエクセルに貼り付けられなくなってしまいました。 5 2022/06/03 09:07
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- PowerPoint(パワーポイント) 2016EXCEL→2016PowerPointにコピペすると図形がゆがみます 5 2022/03/31 11:44
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで図形やワードアート...
-
指定範囲内で図形等を削除する...
-
Office365 のExcelでオブジェク...
-
ワードで大量の図形を一括でグ...
-
Illustratorで色の変更ができな...
-
Excel組織図を横に展開する方法...
-
パワーポイント(2016)、線を...
-
Excel に貼り付けた図形が、勝...
-
word2010 SmartArtで連絡網作...
-
エクセル マクロで、選択してい...
-
ワードの図形をコピー&ペイス...
-
図形の特定の色を一括置換する...
-
PowerPoint2013で、図形の枠線...
-
Excel 図形を移動させると複写...
-
エクセルの図形にハイパーリン...
-
EXCELでのデータ及び図形...
-
イラレ 漢字の一部の色を変えたい
-
イラストレーターには“書式のコ...
-
花子について
-
なぜか同色を指定しているのに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで図形やワードアート...
-
指定範囲内で図形等を削除する...
-
Excel組織図を横に展開する方法...
-
word2010 SmartArtで連絡網作...
-
Office365 のExcelでオブジェク...
-
Excel に貼り付けた図形が、勝...
-
ワードで大量の図形を一括でグ...
-
Excel 図形を移動させると複写...
-
エクセル マクロで、選択してい...
-
パワーポイント(2016)、線を...
-
マクロで選択した図形の選択状...
-
マウスで選択した図形のみVBAで...
-
ワードの図形をコピー&ペイス...
-
jwCAD 登録した図形を呼び出し...
-
オートシェイプで任意のドーナ...
-
エクセル コマンドボタン 丸...
-
ゼンリン地図を切り取って花子...
-
JPEG画像をイラストレータの塗...
-
図形の特定の色を一括置換する...
-
EXCELでのデータ及び図形...
おすすめ情報