
VBAでワークシートにOLEObjectsのコマンドボタンを設置してるのですが
ボタンのオブジェクト名をVBAで指定するにはどうすればいいでしょうか?
Private Sub CommandButton1_Click()
With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)
.Object.Name = "ボタン1"
.Object.Caption = "ボタン"
.Object.Font.Size = 9
.Width = ActiveCell.Width
.Height = ActiveCell.Height
End With
End Sub
を実行すると、
.Object.Name = "ボタン1"
の部分で
「オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)」というエラーになります。
他のコードは大丈夫です。
オブジェクト名をVBAで指定する方法を教えてください。
当方エクセル2003です。
No.3ベストアンサー
- 回答日時:
#2です。
もし、私の勘違いだったらすみません。後になって気がついたことです。
一体、この後、どうするのかなっていう疑問が沸きました。
>他のコードは大丈夫です。
という言葉に引っかかってしまいました。そのOLEボタンを取り付けるコードって、VBAでは難易度上級になります。OLEボタンを生成した後、マクロはどうなっているのでしょうか。OLEの場合は、インスタンスしか付けられないように思います。そもそも、オブジェクト名をカスタマイズするのは、インスタンスを生成する時に必要になるからで、それ以外は、使わないはずです。どこかのサイトでご覧になって、試しているのでしたら、問題ないとは思います。
質問のレベルと、コードの内容が一致していませんので、気になりました。
通常、私が覚えてきた方法は、例えば、以下のようなフォームコントロールにします。オブジェクト名は、それほど重要ではありません。
Dim Lt As Double
Dim Tp As Double
Dim Wd As Double
Dim Ht As Double
With ActiveCell
Lt = .Left: Tp = .Top: Wd = .Width: Ht = .Height
End With
With ActiveSheet '←本来はボタンには少し変です。Me キーワードのほうがよい
With .Buttons.Add(Lt, Tp, Wd, Ht)
.Caption = "ボタン"
.OnAction = "MyMacro" '標準モジュールに登録したマクロ名
End With
End With
No.2
- 回答日時:
>オブジェクト名をVBAで指定する方法を教えてください。
.Object.Name = "ボタン1"
↓
.Name = "ボタン1"
にしたところで、その部分は、エラーが出ないだけで、一回きりしか生きていないはずです。
その後、どうするかによっても決まりますが、動的に名前を付けるか、もしも、オブジェクト名をシステム側の命名に任せてしまうなら、その行は不要だと思います。
「動的に名前を付ける」とは、
例:
.Name = "ボタン" & OLEObjects.Count 'ただし、ボタンだけなら、2から始まる
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
Excel VBAで、実行時にsheet上のコマンドボタンのCaptionを変更する。
Excel(エクセル)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
-
8
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
9
ワークシート上のコントロールの操作方法
Visual Basic(VBA)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
12
【ExcelVBA】commandButtonをクラスモジュールで制御するには
Visual Basic(VBA)
-
13
Excel VBA 動的に作成したチェックボックスにイベントを追加したい
Excel(エクセル)
-
14
Excel VBA Application.caller エラー2023について
Visual Basic(VBA)
-
15
VBAでオプションボタンの設定
その他(Microsoft Office)
-
16
【ExcelVBA】動的にボタン、ボタン名を生成できますか?
Visual Basic(VBA)
-
17
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
18
CommandButtonのCaptionを変化させたい
Visual Basic(VBA)
-
19
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
20
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
Accessについてです。
-
エクセルの画面にユーザーフォ...
-
Accessのフォームでタブの色
-
フォームコントロールから作っ...
-
「この回答は参考になった」は...
-
InputBox関数でキャンセルボタ...
-
Excelで、ボタンにコメントをつ...
-
Excelにストップウオッチ?をつ...
-
トグルボタンをオプションボタ...
-
Excel ラジオボタンのリセット...
-
EXCELのマクロが 実行時エラー5...
-
accessのオプションボタン
-
エクセルVBA フォームへ動...
-
パナソニックKX-PW22CLHの電話...
-
男性に対して、『女性への気遣...
-
「ご処理進めて頂きますようお...
-
【Excel】特定の文字を含むセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
フォームコントロールから作っ...
-
エクセルの画面にユーザーフォ...
-
入力済み、選択したセルに連動...
-
EXCELのマクロが 実行時エラー5...
-
Excel ラジオボタンのリセット...
-
複数シートのボタンに同一の動...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
ユーザーフォームをショートカ...
-
エクセルで、オプションボタン...
-
マクロを登録しているボタンが...
-
Excelで、ボタンにコメントをつ...
-
EXCELの塗りつぶしのボタ...
-
VBAでクリアボタンのみ残してシ...
-
excel スクロールしても常にボ...
-
VBAでオプションボタンなどそれ...
-
エクセルでマクロボタンを押す...
おすすめ情報