今回は、Microsoft Excel の Book 下部に並ぶ Worksheetの見出し表示をVBAを使って常に左端が見える様にする方法について紹介します。

Sheetの表示位置

Worksheetの表示位置
Worksheetの表示位置

この記事でいうSheetの表示位置というのは、Excel Book下部のシートの見出しが並んでいる部分の表示の事です。

何故表示位置を左端にしたいと思ったか

一番左の「Main」Sheetで選択したWorksheetをVBAマクロでアクティブにしつつも、すぐに「Main」Sheetに戻ってこれる様に一番左にある「Main」Sheetを常に表示させておきたいと考えたためです。

実現方法

VBAコード ActiveWindow.ScrollWorkbookTabs を使って実現できます。このメソッドには Sheets または Position のパラメーターを渡すことができ、一見 Positionパラメーターを使って xlFirst を指定すれば、左端のWorksheetを表示させておくことができると思ったのですが、そう上手くはいきませんでした。

ActiveWindow.ScrollWorkbookTabs Sheets:=ThisWorkbook.Worksheets.Count * (-1)

Positionパラメーターの指定では、Sheetの表示位置が変わらなかったのです。原因は分かりませんが、Sheets パラメーターの方であればうまく行きました。

現在選択しているSheetから左の方が見える様にスクロールするためにはマイナスの値とSheetいくつ分左に進むかをマイナスの数で指定する必要があります。

ただ、左に進めるシート数よりも多い数を指定してもエラーとならず、大きな値を指定する分には一番左まで戻ることが確認できたので、単純にThisWorkbook.Worksheets.Countにマイナス1を書けることで、どのシートを選択していようとも、一番左のシートを表示できる様になりました。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です