- ベストアンサー
こんにちは いつもお世話になっています
こんにちは いつもお世話になっています エクセル2003で質問します。 複数シートを一括でスクロールする方法を教えてください。 縦長の複数シートを扱っているので、例えば複数シートでA列100行目が表示されるようにしておきたいケースがあります。ウィンドウを複数開く必要はありません。単に指定した複数シートを開くたびにA列100行目辺り(あくまでも例です)が表示されるようにしたいのです。「ウィンドウ」メニューの「並べて比較」では二つのシートのスクロールを連動させるだけのようですし、ウィンドウは一つだけでいいのです。 よろしくお願いします。
- みんなの回答 (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
お礼
mt2008 様 ありがとうございました。 希望としては任意のタイミングで任意の行までスクロールさせたいのですが、 教えていただいたコードも大変勉強になり、使える局面もありそうです。 簡単で恐縮ですが、お礼申し上げます。