- ベストアンサー
VBAで複数のコマンドボタンを一つにまとめる方法
- VBAを使用して複数のコマンドボタンを一つにまとめる方法について教えてください。現在、複数のコマンドボタン(VBAで)があり、それぞれが特定のセルを参照しています。これを、一つのコマンドボタンにまとめることは可能でしょうか?
- VBAを使用して複数のコマンドボタンを一つにまとめる方法について教えてください。現在、複数のコマンドボタン(VBAで)があり、それぞれが異なるセルを参照しています。一つのコマンドボタンをクリックすると、それぞれのセルにスクロールしたいのですが、これを実現する方法はありますか?
- VBAを使用して複数のコマンドボタンを一つにまとめる方法について教えてください。現在、複数のコマンドボタン(VBAで)がありますが、見た目をスッキリさせるために一つのコマンドボタンにまとめたいです。どのようにすればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ふたつ答えを出しておきますので、お好きなほうを使えばよいです。フォームコントロールですれば、早いと思います。 あえて、OLEコントロールツールでというなら、インスタンスを設けます。 Index にしていますから、ツールのCaptionの名称は関係がありません。上(または左)から順番になります。 '//フォームコントロール用 Sub Buttons_Click() Dim objCnt As Object Dim i As Long If TypeName(Application.Caller) = "String" Then On Error Resume Next Set objCnt = ActiveSheet.Buttons(Application.Caller) If Err.Number > 0 Then Exit Sub On Error GoTo 0 End If i = objCnt.Index - 1 Application.Goto Cells(i * 22 + 7, 1), Scroll:=True End Sub '=========== 'OLEコントロールの場合 '//Class1 (クラスモジュール) Public WithEvents myBtn As MSForms.CommandButton 'モジュール上部へ Private Sub myBtn_Click() Dim i As Integer i = myBtn.Index - 1 Application.Goto ActiveSheet.Cells(i * 22 + 7, 1), Scroll:=True ''MsgBox ActiveSheet.Cells(i * 22 + 7, 1).Address 'チェック用 End Sub '//標準モジュール Public myClass As New Class1 'モジュール上部へ Sub Auto_Open() Dim ctrl As Object Dim i As Integer Static myClass() As Class1 For Each ctrl In Worksheets("Sheet1").OLEObjects '明示的にシート名を入れる If TypeOf ctrl.Object Is MSForms.CommandButton Then ReDim Preserve myClass(i) Set myClass(i) = New Class1 Set myClass(i).myBtn = ctrl.Object i = i + 1 End If Next End Sub '戻る側がありませんが、ダブルクリック・イベントなりで、元に戻るほうを入れたほうがよいですね。
その他の回答 (2)
- rukuku
- ベストアンサー率42% (401/933)
おはようございます プロシージャや関数から別のプロシージャや関数を呼び出すことが出来ます。 このとき、変数を渡すことも出来ます。 以下はサンプルです。 Private Sub CommandButton1_Click() Call JampToCell("A7") End Sub Private Sub CommandButton2_Click() Call JampToCell("A29") End Sub Private Sub CommandButton3_Click() Call JampToCell("A51") End Sub Private Sub JampToCell(TargetCell As String) Application.Goto Range(TargetCell), True End Sub
- mitarashi
- ベストアンサー率59% (574/965)
こちらに入門編から上級編まであります。 http://www.h3.dion.ne.jp/~sakatsu/Breakthrough_P-Ctrl_Arrays.htm