みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBAでスクロールバーから行番号を取得

Excelのワークシートの縦のスクロールバーをクリックすると、行番号が表示されますが、これをVBAで同時に取得できませんか。スクロールバーにはイベントがないことは理解していますが…。特定な行が最上位となったとき、固定枠内のセルを書き換えることを考えています。

投稿日時 - 2019-03-24 09:38:03

QNo.9599986

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

表示されているシートの
表示されているセル範囲の開始行、開始列でよければ、
Sub Sample()
 With ActiveWindow
  MsgBox (.ScrollRow)
  MsgBox (.ScrollColumn)
 End With
End Sub
といったコードで取得できます。

投稿日時 - 2019-03-24 10:15:47

補足

質問は、縦のスクロールバーをクリックまたは移動したとき、回答のマクロを実行する方法なのです。APIなどを使ってもありませんか。現在、ワークシートの画面をダブルクリックして、次のイベントを使っています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row < 36 Then
Range("B71:S71").Copy Range("B3:S3")
ActiveWindow.ScrollRow = 4 '4行
Else
Range("B36:S36").Copy Range("B3:S3")
ActiveWindow.ScrollRow = 37 '37行
End If
End Sub

投稿日時 - 2019-03-26 06:42:21

あなたにオススメの質問