Thema Datum  Von Nutzer Rating
Antwort
24.06.2022 09:33:24 Gast20348
Solved
24.06.2022 16:53:42 ralf_b
NotSolved
24.06.2022 17:26:47 Gast61827
NotSolved
24.06.2022 17:34:23 ralf_b
NotSolved
24.06.2022 20:03:24 Gast40369
NotSolved
25.06.2022 10:52:15 Gast48573
NotSolved
26.06.2022 10:01:15 Gast20348
NotSolved
Blau kurz gesagt:
26.06.2022 10:45:16 volti
NotSolved
26.06.2022 12:22:13 Gast72077
NotSolved
27.06.2022 09:54:29 Gast20348
NotSolved

Ansicht des Beitrags:
Von:
volti
Datum:
26.06.2022 10:45:16
Views:
402
Rating: Antwort:
  Ja
Thema:
kurz gesagt:

Hallo,

leider hast Du hier nicht mitgeteilt, welches Scrolling Du meinst und wofür Du die Abfrage verwenden willst.

Das Abfragen von Events auf den Scrolleisten ist nur über die API mittels Hooking möglich, wie auch schon im Artikel von Ralf-b  beschrieben.

Ist etwas aufwändig, lass ich daher mal außen vor.

 

Wenn Du aber die Bewegung des Zellbereiches meinst, und die scrollt ja auch bei Mausradbewegung, Scrollleistenbewegung und Benutzung der Cursortasten könntest Du Dir rmal folgenden Ansatz ansehen, der mittels Timer periodisch die oberste linke Zelle abfragt.

Vielleicht hilf es Dir ja.

Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
' Ins normale Modul
Option Explicit

Private Declare PtrSafe Function SetTimer Lib "user32" ( _
        ByVal hwnd As LongPtrByVal nIDEvent As LongPtr, _
        ByVal uElapse As LongByVal lpTimerFunc As LongPtrAs LongPtr
Private Declare PtrSafe Function KillTimer Lib "user32" ( _
        ByVal hwnd As LongPtrByVal nIDEvent As LongPtrAs Long

        Private hTimer As LongPtr, sLetzteZelle As String

Sub ScrollTimerTest_An()
  sLetzteZelle = Split(ActiveWindow.VisibleRange.Address(00), ":")(0)
  If hTimer = 0 Then hTimer = SetTimer(0&0&50AddressOf ScrollTimer_Callback)
End Sub
Sub ScrollTimerTest_Aus()
  If hTimer > 0 Then KillTimer 0&, hTimer: hTimer = 0
End Sub

Sub ScrollTimer_Callback()
  Dim sLZ As String, sMsg As String

  DoEvents
  On Error Resume Next
  sLZ = Split(ActiveWindow.VisibleRange.Address(00), ":")(0)
  If sLZ <> sLetzteZelle Then
     If Range(sLZ).Row < Range(sLetzteZelle).Row Then sMsg = "obenElse sMsg = "unten"
     If Range(sLZ).Column < Range(sLetzteZelle).Column Then sMsg = "links"
     If Range(sLZ).Column > Range(sLetzteZelle).Column Then sMsg = "rechts"
     Application.StatusBar = "Nach " & sMsg & " gescollt"
     sLetzteZelle = sLZ
  End If
End Sub

' Ins Tabellenblatt
Private Sub Worksheet_Activate()
  Call ScrollTimerTest_An
End Sub

Private Sub Worksheet_Deactivate()
  Call ScrollTimerTest_Aus
End Sub
 
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.06.2022 09:33:24 Gast20348
Solved
24.06.2022 16:53:42 ralf_b
NotSolved
24.06.2022 17:26:47 Gast61827
NotSolved
24.06.2022 17:34:23 ralf_b
NotSolved
24.06.2022 20:03:24 Gast40369
NotSolved
25.06.2022 10:52:15 Gast48573
NotSolved
26.06.2022 10:01:15 Gast20348
NotSolved
Blau kurz gesagt:
26.06.2022 10:45:16 volti
NotSolved
26.06.2022 12:22:13 Gast72077
NotSolved
27.06.2022 09:54:29 Gast20348
NotSolved