2017-09-20 10 views
0

私のワークブックでは、ToggleButtonを複数のシートにまとめて、同じシート(SheetX)にしてから、そのシートからToggleButtonを押した場所に戻したいと思っています。ボタンをクリックしたワークブックの場所に戻るにはどうすればいいですか?

私はスコットの提案から十分な

Private Sub CommandButton12_Click() 

    If Sheets("T1").ToggleButton1.Value = True Or Sheets("T2").ToggleButton1.Value = True Then 

     Sheets("T2").Select 

      If Sheets("T1").ToggleButton1.Value = True Or Sheets("T2").ToggleButton1.Value = True Or Sheets("T3").ToggleButton1.Value = True Then 

       Sheets("T3").Select 

      End If 

      'So on and on and on 

    Else 

     Sheets("T1").Select 

    End If 

End Sub 
+0

[Application.Caller](https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_winother/using-applicationcaller-to-reference-the-worksheet/b861723e-c7aa-4944- b15a-5cda0d8d3da8?auth = 1) –

答えて

0

明らかだ声明

希望、あなたはグローバル変数を使用して、シート1を持つことができる場合は、このようであれば、無限/終了を行うには良い方法があります

Public r as Long, Public c as Long, Public s as Worksheet 

Sub Global_Hold_Macro() 
    'You would put "Globlal_Hold_Macro" in each togglebutton 
    r = Activecell.Row 
    c = Activecell.Column 
    s = Activesheet.Name 
End Sub 

Sub Sheet1_Toggle_To_Go_Back() 
    s.cells(r,c).Select 
End Sub 
次のような最後に保存した項目に戻るにはボタンを使用

編集:あなたが使用している場合

Public r as String 
Public c as String 

Sub Global_Hold_Macro() 
    'You would put "Globlal_Hold_Macro" in each togglebutton 
    r = Application.Caller 
    c = Activesheet.Name 
End Sub 

Sub Sheet1_Toggle_To_Go_Back() 
    Sheets(c).Activate 
    Sheets(c).Shapes(r).Select 
End Sub 

これは動作しないことがあります。

、この場合には、ボタンを特定の名前の形状を呼び出すために、これを表示します特定のタイプのボタン/シェイプ

+0

Sheet1_Toggle_To_GO_Back Subが動作しませんメッセージがありますオブジェクトが必要です –

+0

@MaxBridge Global_Hold_Macroの参照をトグルに合わせて変更しましたか?私は、キャプチャする必要があるものの複雑さを示す例として、r、c、sを使用しました。あなたのボタンがセルに縛られていないと、r&cは適切に記録されませんが、sはアクティブシートなのでキャプチャされます。 – Cyril

+0

@MaxBridge更新を参照してください。 – Cyril

関連する問題