2016-06-28 11 views
0

私が最後にアクセスした前のタブにあなたを連れて来る私のExcelプロジェクトのすべてのタブを置くために戻るボタンを作成したいと思います。たとえば、私がsheet3タブに入っていて、Sheet8タブに移動した場合、sheet8の戻るボタンをクリックして、そのsheet3タブに戻ることができるようにします。だから、基本的にExcelは私が最後に行ったタブの私の以前の訪問を追跡し、私が戻るボタンを押すとそれを私に戻す。Excelの前のタブに移動するVBAの戻るボタン

+2

[質問する](http://stackoverflow.com/help/how-to-ask)をご覧ください。 – findwindow

+0

クールなコンセプト:) –

答えて

1

これを取り除くには、最後にアクセスしたタブを追跡する必要があります。

タブを切り替えるときにシートをキャプチャするには、ブックのSheetDeactivate()イベントを使用できます。 VBEでは、あなたのVBAProjectの中「はThisWorkbook」にクリックし、次のコードを追加します。

enter image description here

'Global Variable to hold last sheet selected 
Public lastSheet As Object 

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 
    'When we deactivate a tab toss the deactivated sheet into the lastSheet global 
    Set lastSheet = Sh 
End Sub 

を今、私たちは最後のシートがクリックアクセスしたいとき、我々は変数lastSheetを参照することができます。新しいモジュールで

は、次のサブルーチンを追加:

enter image description here

Sub goBack() 
    'go back to the last sheet using the lastSheet variable 
    ThisWorkbook.lastSheet.Activate 
End Sub 

今、あなたはあなたのタブにボタン(または形状)を追加し、GoBack()サブルーチンにそれらを指すことができます。

関連する問題