Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

AutoSroll über VBA - Autoschleife funktioniert nicht

Forumthread: AutoSroll über VBA - Autoschleife funktioniert nicht

AutoSroll über VBA - Autoschleife funktioniert nicht
19.08.2025 16:07:26
KarstenL
Hallo in die Runde,
dies ist mein erster Beitrag und ich fange grad erst an mit Excel-VBA - also habt etwas Einsehen mit mir falls ich mich nicht richtig ausdrücke.
Folgender Sachverhalt: Ich habe eine Ergebnisliste in Exel die über eine 2. Datei auf einem 2. Monitor erscheinen soll. Die 2. Datei soll dann auf dem 2. Monitor in einer Dauerschleife durch die Ergebnisliste scrollen - am Ende wieder nach oben springen und den Vorgang erneut starten. Der erste Teil funktioniert - es scrollt bis zum Ende und springt dann wieder an den Anfang aber dann startet der Scroll-Vorgang nicht wieder automatisch.
Meine Frage ist jetzt - was fehlt in dem Code damit der Vorgang - sagen wir mal 8 Stunden - kontinuierlich abläuft?

Viele Grüße
KarstenL

Hier der Code:


Sub AutoScroll()

Dim i As Long
Dim rowcount As Long
Dim scrollamount As Long

'Finde die Anzahl der Zeilen, durch die gescrollt werden soll

rowcount = Cells(Rows.Count, 1).End(xlUp).Row

'Anzahl der Zeilen, die bei jedem Vorgang weitergescrollt werden

scrollamount = 10

'Beginn

Range("A1").Select

'Schleife durch die Zeilen (angepasst an die Scroll-Menge)

For i = 1 To rowcount / scrollamount

ActiveWindow.SmallScroll Down:=scrollamount

'Wartezeit bevor der nächste Scrollvorgang beginnt

Application.Wait (Now + TimeValue("0:00:05"))

Next i

'Sprung zurück an den Anfang

Range("A1").Select


End Sub
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
19.08.2025 17:23:53
daniel
Hi

ich würde das ohne Schleife, sondern mit zeitgesteuertem Selbstaufruf machen (Application.Ontime)
hat den Vorteil dass das Makro nicht permanent läuft und du zwischendrin ggf noch was mit dem Excel machen kannst:

Sub Anzeige()

Dim Zeile As Long
Dim ZeileAnfang As Long
Dim ZeileEnde As Long
Dim Schrittweite As Long
Dim Pause As Date
Dim EndZeit As Date

ZeileAnfang = 1
ZeileEnde = 100
Schrittweite = 10
Pause = TimeSerial(0, 0, 5)
EndZeit = TimeSerial(18, 0, 0)

With ActiveWindow
Zeile = .ScrollRow
Zeile = Zeile + Schrittweite
If Zeile > ZeileEnde Then Zeile = ZeileAnfang
.ScrollRow = Zeile
End With

If Time EndZeit Then Application.OnTime Now + Pause, "Anzeige"
End Sub


Anzeige
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
19.08.2025 17:35:14
KarstenL
Hi,
vielen Dank - ich werde es nachher gleich mal testen und berichten :-)
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
19.08.2025 17:32:10
daniel
Hi
wenn das mit dem Application.Ontime nicht so passend ist, dann einfach per Dauerschleife.
Zeile immer Schrittweise erhöhen und auf den Startwert zurücksetzen, wenn das Ende erreicht ist.
Ausstieg aus der Dauerschleife hier per Uhrzeit:

Sub Anzeige2()

Dim Zeile As Long
Dim ZeileAnfang As Long
Dim ZeileEnde As Long
Dim Schrittweite As Long
Dim Pause As Date
Dim EndZeit As Date

ZeileAnfang = 1
ZeileEnde = 100
Schrittweite = 10
Pause = TimeSerial(0, 0, 5)
EndZeit = TimeSerial(18, 0, 0)

Do
Zeile = ActiveWindow.ScrollRow
Zeile = Zeile + Schrittweite
If Zeile > ZeileEnde Then Zeile = ZeileAnfang
ActiveWindow.ScrollRow = Zeile
Wait Pause
Loop While Time EndZeit

End Sub


Gruß Daniel
Anzeige
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
20.08.2025 15:13:47
KarstenL
Hallo Daniel,
vielen Dank erst einmal, jedoch kommt bei der Code-Abfrage immer die Fehlermeldung: Sub oder Function nicht definiert und der Debugger springt runter zum WAIT - woran kann das liegen?
Gruß Karsten
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
20.08.2025 15:52:34
daniel
hab das Application davor vergessen.
vergleiche einfach mal mit deinem Code
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
20.08.2025 16:12:21
daniel
ggf musst du auch noch das aktuelle Datum mit hinzunehmen.

Application.Wait Now + Pause

oder

Application.Wait Now + Timeserial(0, 0, 5)
Anzeige
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
21.08.2025 13:02:59
KarstenL
Hi Daniel,
erst einmal vielen Dank - das Autoscrollen funktioniert sehr gut. Es gibt jetzt nur das Problem, sobald ich in die Hauptdatei wechsele beginnt diese zu srollen - das Makro wird auf einmal dort ausgeführt und nicht in der Präsentationsdatei. Die Hauptdatei ist auch eine xsml.Datei und enthält mehrere Makros. Wie kann ich nun bestimmen, dass das Makro nur die Präsentationsdatei betrifft. Mom ist beim Ausführen des Makros keine Änderung in der Hauptdatei möglich.
Anzeige
AW: AutoSroll über VBA - Autoschleife funktioniert nicht
21.08.2025 16:13:05
daniel
In dem du genau angibst, welches Fenster gescrollt werden soll.
ActiveWindow ist ja immer das Fenster, mit dem du gerade arbeitest.

Also sowas wie:

ThisWorkbook.Windows(thisworkbook.name)

Oder

Thisworkbook.Windows(1)

Man kann auch die Fenster andere Mappen steuern:

Workbooks(Dateiname).Windows(Fenstername oder Fensternummer)

Müsstest du aber mal genauer testen.


Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige