• ベストアンサー

EXCELでコマンドボタンを繰り返す方法を教えてください。

EXCELでコマンドボタンを作りました。 「テスト」と言う名前のボタンをつくったのですが、 その際「テスト」という名前のコマンドボタンを 100回続けて自動的にクリックすると言ったような やり方はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。 ■ [コントロール ツールボックス] のボタンの場合 例えば、Sheet1 に CommandButton1 があり、下記のような内容と仮定します。 ' // Sheet1 の CommandButton1 のクリックイベント Private Sub CommandButton1_Click()   With Range("A1")     .Value = Val(.Value) + 1   End With End Sub > 100回続けて自動的にクリックする こんな感じ。 Dim i As Long For i = 1 To 100   Sheet1.CommandButton1.Object.Value = True Next しかし、このようにも書けます。 ' // Sheet1 の CommandButton1 のクリックイベント Private Sub CommandButton1_Click()   Call TestProc End Sub ' // 標準モジュール Sub TestProc()   With Worksheets("Sheet1").Range("A1")     .Value = Val(.Value) + 1   End With End Sub なら、100回連続で実行するなら Dim i As Long For i = 1 To 100   Call TestProc Next ■ [フォーム] のボタンの場合 恐らく、マクロを割り当てていますよね? 例えば、TestProc というマクロ なら、やはり Dim i As Long For i = 1 To 100   Call TestProc Next とすれば良いのでは?

vaio_comp
質問者

お礼

正にこの機能のボタンを求めていました!ありがとうございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 コマンドボタン(コントロールツール)の内容にもよりますが、例えば、以下のような場合、このようにします。 同じシートモジュールに、Test1 のように書きます。 変数 i は、モジュールレベルで共有しています。 Dim i As Long Private Sub CommandButton1_Click()  Cells(i, 1).Value = i End Sub Sub Test1()  Range("A:A").ClearContents  For i = 1 To 100   Call CommandButton1_Click  Next i End Sub >「テスト」と言う名前のボタンをつくったのですが コントロールの名前は、ご自身で変更してください。

vaio_comp
質問者

お礼

ありがとうございました。作成することができました。

回答No.1

コマンドボタンを続けてクリックする理由は? コマンドボタンをクリックしたときに呼び出されるものを100回繰り返すのではダメなんですか???

関連するQ&A