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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
5
Excel VBA 動的に作成したチェックボックスにイベントを追加したい
Excel(エクセル)
-
6
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
7
Excelマクロでオプションボタンの名前の変更をしたい
Excel(エクセル)
-
8
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
9
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
10
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
11
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
12
Excelのセルに,PDFなどのファイルを埋め込みたいのです
Excel(エクセル)
-
13
エクセルVBA シート上にあるコマンドボタンを削除するには?
Excel(エクセル)
-
14
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
-
15
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
16
Excelコマンドボタン名を変数にして背景色を変更
サーバー
-
17
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
18
エクセルVBA フォームへ動的に貼り付けたボタンのクリックイベントを検知する方法を教えてください
Excel(エクセル)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
マクロで作ったボタンのサイズ...
-
Excelで、ボタンにコメントをつ...
-
エクセルの画面にユーザーフォ...
-
VBAでオプションボタンなどそれ...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
マクロ初心者です。 msgboxのre...
-
フォームコントロールから作っ...
-
入力済み、選択したセルに連動...
-
エクセルVBAオプションボタンの...
-
EXCELのマクロが 実行時エラー5...
-
ユーザーフォームをショートカ...
-
Excel ラジオボタンのリセット...
-
Access VBAでボタンの背景色を...
-
excel スクロールしても常にボ...
-
ボタンを画像で作るか、CSSでデ...
-
エクセル フォームの ボタン...
-
複数シートのボタンに同一の動...
-
日報の休日ボタン(トグルボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
UPS警告音を止めたい
-
ユーザーフォームをショートカ...
-
【Excel VBA】マクロボタンを表...
-
Excel ラジオボタンのリセット...
-
Excelで、ボタンにコメントをつ...
-
Accessのフォームでタブの色
-
エクセルで、オプションボタン...
-
マクロで作ったボタンのサイズ...
-
複数シートのボタンに同一の動...
-
フォームコントロールから作っ...
-
エクセルでマクロボタンを押す...
-
EXCELの塗りつぶしのボタ...
-
Excelにストップウオッチ?をつ...
-
EXCELのマクロが 実行時エラー5...
-
マクロ初心者です。 msgboxのre...
-
日報の休日ボタン(トグルボタ...
-
Access VBAでボタンの背景色を...
-
VBAでオプションボタンなどそれ...
おすすめ情報