マクロ実行中にボタンを作成して、押下すればマクロが流れるように関連付けも処理の中で行いたいのですが、どのようなやり方でできるでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
Excelマクロの前提で回答します。
「マクロの記録」機能を使って記録してみました。
Sub Macro1() ActiveSheet.Buttons.Add(132.75, 69.75, 111.75, 23.25).Select Selection.OnAction = "test" Selection.Characters.Text = "ボタン" With Selection.Characters(Start:=1, Length:=4).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 1 End With End Sub
多分本当に必要なのは最初の3行だけだと思います。
1行目のAddの後は座標ですかね。試してみてください。
2行目の"test"の部分は事前に作成したマクロ名称になります。
投稿2016/11/15 07:04
総合スコア1894
0
投稿2016/11/15 06:50
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
「マクロ実行中に」ボタンを作成して関連付けも行うが質問内容になります。
どのように作ることができるのかの方法がわからないので...
手動でボタンを作って関連付けがしたいわけではありません。
2016/11/15 07:17
手動でボタンをつくる過程を「マクロの記録」でVBAのコードとして記録できます。 記録されたコードを実行すれば、手動で行ったと同じ動作が行われます。 記録されたコードには冗長(なくても構わない)な部分が少なくないので、ある程度の修正は必要です。
0
ベストアンサー
VBA
1Sub Sample1() 2 With ActiveSheet.Buttons.Add(Range("B2").Left, _ 3 Range("B2").Top, _ 4 Range("B2:C3").Width, _ 5 Range("B2:C3").Height) 6 .OnAction = "Sample" 7 .Characters.Text = "Click me" 8 End With 9End Sub 10 11Sub Sample() 12 MsgBox Now 13End Sub
Sample1を動かした後にできたボタンをおせばSampleが動きます
投稿2016/11/15 07:06
総合スコア1820
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。