Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8617 / 13645 ツリー ←次へ | 前へ→

【32242】ボタン作成のマクロの記述方法 よっちゃん 05/12/11(日) 1:33 質問[未読]
【32244】Re:ボタン作成のマクロの記述方法 ponpon 05/12/11(日) 1:47 発言[未読]
【32246】Re:ボタン作成のマクロの記述方法 よっちゃん 05/12/11(日) 3:39 質問[未読]
【32247】Re:ボタン作成のマクロの記述方法 ichinose 05/12/11(日) 8:01 発言[未読]
【32248】Re:ボタン作成のマクロの記述方法 ponpon 05/12/11(日) 9:02 発言[未読]
【32254】Re:ボタン作成のマクロの記述方法 Kein 05/12/11(日) 13:52 発言[未読]
【32257】Re:ボタン作成のマクロの記述方法 よっちゃん 05/12/11(日) 22:01 お礼[未読]

【32242】ボタン作成のマクロの記述方法
質問  よっちゃん  - 05/12/11(日) 1:33 -

引用なし
パスワード
    コードで具体的にボタンを記述するにはどういう風に書いたらよいのでしょうか?どなたかお願いします。

【32244】Re:ボタン作成のマクロの記述方法
発言  ponpon  - 05/12/11(日) 1:47 -

引用なし
パスワード
   こんばんは。

>コードで具体的にボタンを記述する

この意味がよくわかりませんが、・・・

以下は、フォームのボタンを貼り付けたときのマクロの記録です。

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2005/12/11 ユーザー名 : ponpon
'

'
  myBtn = ActiveSheet.Buttons.Add(308.25, 90.75, 38.25, 18.75)
End Sub

【32246】Re:ボタン作成のマクロの記述方法
質問  よっちゃん  - 05/12/11(日) 3:39 -

引用なし
パスワード
   返信ありがとうございます。
VBAでボタンの作成方法をしりたかっただけです。
上記のコードを実行してみましたが、
ボタンは作成できたもの
「オブジェクト変数またはwithブロック変数
が設定されていません」
エラーがでてしまいます。
どうしたらよろしいのでしょうか?

【32247】Re:ボタン作成のマクロの記述方法
発言  ichinose  - 05/12/11(日) 8:01 -

引用なし
パスワード
   ▼よっちゃん さん、ponpon さん、おはようございます。

>VBAでボタンの作成方法をしりたかっただけです。
よっちゃん さんがおっしゃった  この↑「だけ」・・・。

よっちゃん さんの質問の記述内容では、「だけ」と限定されません。

Excelでは、ボタンと呼ばれるものを配置する場所によって
記述方法が複数あるからです。

コマンドバーにある印刷やコピーや貼付け等を行ってくれるボタン
これも作成出来ます。

シートに配置するボタン、この場合は、
コマンドバー「フォーム」と「コントロールツールボックス」と二つの
ボタンがあります。

また、ユーザーフォームにもボタンは配置することができます。

それぞれ作成するVBAコードは、違います。

よって、せめて

『シートに、コマンドバー「フォーム」にあるボタンを配置するVBAコード』

等と記述しないと「だけ」とは言えません。

私も今、気がついたのですが、このサイトの管理者の谷さんが
「本サイトの基本方針」を記述しています。

http://www.vbalab.net/bbspolicy.html

呼んでみて下さい。

これは、ponpon さんから投稿があると思いますが、

Set myBtn = ActiveSheet.Buttons.Add(308.25, 90.75, 38.25, 18.75)

とするとエラーはでないと思います。

【32248】Re:ボタン作成のマクロの記述方法
発言  ponpon  - 05/12/11(日) 9:02 -

引用なし
パスワード
   ichinoseさん、よっちゃん さん おはようございます。

いつもドジな回答にフォローありがとうございます。

>Set myBtn = ActiveSheet.Buttons.Add(308.25, 90.75, 38.25, 18.75)
>とするとエラーはでないと思います。

ボタンは、オブジェクトですから Set
必要です。
マクロの記録からあわてて送信したものですから確認していませんでした。

【32254】Re:ボタン作成のマクロの記述方法
発言  Kein  - 05/12/11(日) 13:52 -

引用なし
パスワード
   ボタンを「作成するだけ」であれば、変数にセットする必要はないので

ActiveSheet.Buttons.Add Left, Top, Width, Height
(Left, Top, Width, Height は引数であり、実際には数値を記述する)

というコードにすれば良いでしょう。
また、何かのマクロを登録するのであれば

ActiveSheet.Buttons.Add(Left, Top, Width, Height).OnAction = "Macro1"

などとします。これ以外のいろいろなプロパティをいじる場合でも

With ActiveSheet.Buttons.Add(Left, Top, Width, Height)
  .Caption = "マクロ1"
  .Font.Size = 18
  .AutoSize = True
End With

などと、Withステートメントで括ることも出来ます。もちろんオブジェクト変数に
セットして、それを参照する形のコードにも出来ますが。
以上は全て、シート上に配置するフォームツールバーの、ボタンの作成方法です。

【32257】Re:ボタン作成のマクロの記述方法
お礼  よっちゃん  - 05/12/11(日) 22:01 -

引用なし
パスワード
   みなさん、ご指摘ありがとうございます。
なぜかいまやったらエラーがでませんでした。
とりあえず、みなさんの意見を聞いてなるべくわかりやすく
書きたいと思います。

8617 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free