Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5619 / 13645 ツリー ←次へ | 前へ→

【49809】画面のスクロール PageUp PageDown について リキュール 07/6/23(土) 9:48 質問[未読]
【49810】Re:画面のスクロール PageUp PageDown につ... ichinose 07/6/23(土) 10:17 発言[未読]
【49813】Re:画面のスクロール PageUp PageDown につ... リキュール 07/6/23(土) 11:23 お礼[未読]
【49811】Re:画面のスクロール PageUp PageDown につ... ウッシ 07/6/23(土) 10:21 発言[未読]
【49815】Re:画面のスクロール PageUp PageDown につ... リキュール 07/6/23(土) 11:32 お礼[未読]
【49812】Re:画面のスクロール PageUp PageDown につ... bykin 07/6/23(土) 10:38 回答[未読]
【49814】Re:画面のスクロール PageUp PageDown につ... リキュール 07/6/23(土) 11:31 お礼[未読]

【49809】画面のスクロール PageUp PageDown につ...
質問  リキュール  - 07/6/23(土) 9:48 -

引用なし
パスワード
   キーボードから[PageUp] [PageDown]を実行すると、スクロール後にアクティブセルも移動します。
しかし、マクロでActiveWindow.LargeScroll up:=1 や ActiveWindow.LargeScroll down:=1
を実行するとページは移動しますがアクティブセルは移動しせん。
Offset(移動量).Selectで1ページ分の行をプラス、マイナスを行えば当座は大丈夫なのですが、
1ページ分の移動量は表示されているウインドウの大きさで変化しますので特定できません。
スクロール後にアクティブセルも移動するにはどうしたら良いでしょうか。

【49810】Re:画面のスクロール PageUp PageDown に...
発言  ichinose  - 07/6/23(土) 10:17 -

引用なし
パスワード
   ▼リキュール さん:
おはようござます。

>キーボードから[PageUp] [PageDown]を実行すると、スクロール後にアクティブセルも移動します。
>しかし、マクロでActiveWindow.LargeScroll up:=1 や ActiveWindow.LargeScroll down:=1
>を実行するとページは移動しますがアクティブセルは移動しせん。
>Offset(移動量).Selectで1ページ分の行をプラス、マイナスを行えば当座は大丈夫なのですが、
>1ページ分の移動量は表示されているウインドウの大きさで変化しますので特定できません。
>スクロール後にアクティブセルも移動するにはどうしたら良いでしょうか。

Sub sample()
  With ActiveWindow
    .LargeScroll Down:=1
    .VisibleRange.Cells(1).Select
    End With
End Sub

これで どうですか?

【49811】Re:画面のスクロール PageUp PageDown に...
発言  ウッシ  - 07/6/23(土) 10:21 -

引用なし
パスワード
   こんにちは

ちゃんと確認してないですが、

Sub test()
  ActiveWindow.LargeScroll down:=1
  ActiveWindow.ActivePane.VisibleRange.Cells(1).Select
'  ActiveWindow.LargeScroll up:=1
'  ActiveWindow.ActivePane.VisibleRange.Cells(1).Select
End Sub

色々な設定で確認してみて下さい。

【49812】Re:画面のスクロール PageUp PageDown に...
回答  bykin  - 07/6/23(土) 10:38 -

引用なし
パスワード
   こんにちわ。

簡単そうなんはSendKeysかな?

Sub test1()
  SendKeys "{PGDN}"
  DoEvents
  MsgBox "ok"
  SendKeys "{PGUP}"
End Sub

もしくは↓こんなんとか。

Sub test2()
  PageUpDown 1, 0
  MsgBox "ok"
  PageUpDown 0, 1
End Sub

Sub PageUpDown(Optional ByVal Down As Long = 0, Optional ByVal Up As Long = 0)
  Dim RowNum As Long
  Dim ColNum As Long
  
  With ActiveWindow
    RowNum = .ActiveCell.Row - .VisibleRange.Row + 1
    ColNum = .ActiveCell.Column
    .LargeScroll Down, Up
    .VisibleRange.Cells(RowNum, ColNum).Select
  End With
End Sub

試してみてな。
ほな。

【49813】Re:画面のスクロール PageUp PageDown に...
お礼  リキュール  - 07/6/23(土) 11:23 -

引用なし
パスワード
   早速の回答ありがとうございました。
思い通りの結果になりました!

【49814】Re:画面のスクロール PageUp PageDown に...
お礼  リキュール  - 07/6/23(土) 11:31 -

引用なし
パスワード
   早速の回答ありがとうございました。
思い通りの結果になりました!
いろいろな方法があるものですね。

【49815】Re:画面のスクロール PageUp PageDown に...
お礼  リキュール  - 07/6/23(土) 11:32 -

引用なし
パスワード
   早速の回答ありがとうございました。
思った通りの結果になりました!

5619 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free