Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Letze Zeilennummer des momentan aktiven Sheets wel

Letze Zeilennummer des momentan aktiven Sheets wel
15.03.2017 19:59:43
Siegfried

Hallo, wer kann mir bitte helfen.
Ich hat einmal beim durchforsten von VBA Funktionen, Befehle usw. so etwas Ähnliches gesehen/gelesen finde es jetzt aber einfach nicht.
Ich möchte beim durchlaufen einer Datenbank, wo in einer bestimmten Spalte Änderungen eingetragen werden und die letze Zeilennummer welche am Bildschirm angezeigt wird erreicht wird, das Tabellenblatt mit ActiveWindow.LargeScroll Down:=1 weiterschalten um auch auf der nächsten Seite die Änderungen in der Spalte sehen zu können.
Derzeit verwende ich folgendes dafür
If MaxLines > 100 Then
If ((Int((InputRow / 100)) * 100) = InputRow) Then
If (InputRow > 100) Then
ActiveWindow.LargeScroll Down:=1
End If
End If
End If
Damit kann man zwar beobachten das der LargeScrollDown erfolgte aber nicht die besagten Änderungen in der Spalte.
Da mir mit „InputRow“ immer die momentan bearbeitet Zeile bekannt ist, dachte ich mir wenn ich die letzte Zeilennummer am Bildschirm abfragen könnte und InputRow den gleichen Wert hat dann den LargeScrollDown auslösen.
Wäre schön, wenn mir da jemand weiter helfen könnte oder es eine noch bessere Lösung gäbe.
Gruß Siegfried

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letze Zeilennummer des momentan aktiven Sheets wel
16.03.2017 11:32:57
fcs
Hallo Siegfried,
etwa so
Sub Ausfuellen()
Dim inputRow As Long
Dim ZeileL As Long
inputRow = ActiveCell.Row
inputRow = ActiveCell.Row
Do
Cells(inputRow, 11).Value = Round(Rnd() * 100, 0)
inputRow = inputRow + 1
'Letzte Zeile des sichtbaren Bereiches
With ActiveWindow.VisibleRange
ZeileL = .Row + .Rows.Count - 1
End With
If inputRow >= ZeileL Then
'            ActiveWindow.LargeScroll 1
ActiveWindow.ScrollRow = inputRow
End If
Application.Wait Time:=Now + TimeSerial(0, 0, 1)
Loop Until inputRow > 60 Or inputRow < 2
End Sub
Allerdings funktioniert es nicht so recht, wenn im Makro Zellselektionen statfinden.
Gruß
Franz
Anzeige
AW: Letze Zeilennummer des momentan aktiven Sheets wel
19.03.2017 19:44:23
Siegfried
Hallo Franz,
bitte entschuldige das ich mich erst heute mit einer Antwort melde, habe immer auf ein Email als Info das jemand geantwortet hat gewartet aber nie eines erhalten.
Heute dachte ich mir, was habe ich verbrochen das mir da keiner weiterhelfen will/kann, dürfte vermutlich selber in den Einstellungen was übersehen haben und daher keine INFO-Mails erhalten haben.
Nun zu deiner Gedankeneingebung, genau das ist es was ich suchte.
Habe es jetzt an meine Bedürfnisse etwas angepasst und läuft super.
Wegen deiner Anmerkung (Allerdings funktioniert es nicht so recht, wenn im Makro Zellselektionen statfinden.) habe ich keine Probleme obwohl sich fast bei jedem Durchgang der gesetzte Filter ändert da ich immer nach der neuen Filtersetzung mit der Funktion „TEILERGEBNIS(3;A2:A10000)“ die nun zur Verfügung stehende Anzahl an Datensätzen abfrage und daher die „ActiveWindow.VisibleRange “ Abfrage nur ansteure wenn mehr als 50 Zeilen abzuarbeiten sind.
Ja und so sieht dies nun bei mir aus
If MaxLines > 50 Then
With ActiveWindow.VisibleRange
ZeileL = .Row + .Rows.Count - 1
End With
If InputRow >= ZeileL Then
ActiveWindow.ScrollRow = InputRow
Application.Wait Time:=Now + TimeSerial(0, 0, 1)
End If
End If

Nochmals ein herzliches DANKE für die Unterstützung, man lernt eben nie aus und gerade diese Abfrage
ActiveWindow.VisibleRange
ZeileL = .Row + .Rows.Count – 1
habe ich schon mal davon gelesen aber nicht um die Burg wieder gefunden.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige