• ベストアンサー

こんにちは いつもお世話になっています

こんにちは いつもお世話になっています エクセル2003で質問します。 複数シートを一括でスクロールする方法を教えてください。 縦長の複数シートを扱っているので、例えば複数シートでA列100行目が表示されるようにしておきたいケースがあります。ウィンドウを複数開く必要はありません。単に指定した複数シートを開くたびにA列100行目辺り(あくまでも例です)が表示されるようにしたいのです。「ウィンドウ」メニューの「並べて比較」では二つのシートのスクロールを連動させるだけのようですし、ウィンドウは一つだけでいいのです。 よろしくお願いします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

シートを移動した時、常に100行目を表示したいなら、ThisWorkbook に以下のコードを入れてみてください。100行目が一番上に表示されます。 Private Sub Workbook_SheetActivate(ByVal Sh As Object)   ActiveWindow.ScrollRow = 100 End Sub 別なシートで選択した行を、移動したシートでも表示したいなら、ThisWorkbook に以下のコードを入れてみてください。 手抜き版なので、セルを選択せずにスクロールだけした場合は他のシートには反映されません。 Dim nSellectRow As Long Private Sub Workbook_SheetActivate(ByVal Sh As Object)   If nSellectRow = 0 Then nSellectRow = 1   ActiveWindow.ScrollRow = nSellectRow End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)   nSellectRow = ActiveWindow.ScrollRow End Sub

5goma
質問者

お礼

mt2008 様 ありがとうございました。 希望としては任意のタイミングで任意の行までスクロールさせたいのですが、 教えていただいたコードも大変勉強になり、使える局面もありそうです。 簡単で恐縮ですが、お礼申し上げます。

関連するQ&A