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

ActiveWindow.VisibleRange

Forumthread: ActiveWindow.VisibleRange

ActiveWindow.VisibleRange
13.01.2013 22:24:52
Maximilian
Mit ActiveWindow.VisibleRange kann ich den sichtbaren Bereich als Range bekommen. Wie bekomme ich denn die Nummer der letzten Reihe aus dieser Range raus?

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveWindow.VisibleRange
13.01.2013 23:30:12
Matze
Nummer ?

AW: ActiveWindow.VisibleRange
13.01.2013 23:32:24
Maximilian
Die Nummer der letzten Reihe, die sichtbar ist.

AW: ActiveWindow.VisibleRange
14.01.2013 00:17:09
Maximilian
Nicht die letzte, die Beschrieben ist, sondern die letzte, die man auf dem Bildschirm sieht... hab gegoogelt, nix gefunden. Deswegen frage ich ja hier.

AW: ActiveWindow.VisibleRange
14.01.2013 05:46:27
hary
Moin
ActiveWindow.VisibleRange.Rows.Count

gruss hary

AW: ActiveWindow.VisibleRange
14.01.2013 10:40:05
Maximilian
... gibt die Anzahl zurück ;) nicht die letzt sichtbare.

Anzeige
AW: ActiveWindow.VisibleRange
14.01.2013 10:55:39
hary
Moin
MsgBox ActiveWindow.VisibleRange.Row + ActiveWindow.VisibleRange.Rows.Count

gruss hary
;
Anzeige

Infobox / Tutorial

ActiveWindow.VisibleRange für VBA-Entwickler nutzen


Schritt-für-Schritt-Anleitung

Um die letzte sichtbare Zeilennummer im aktuellen Excel-Fenster zu ermitteln, kannst Du den folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu (Einfügen > Modul).

  3. Kopiere den folgenden Code in das Modul:

    Sub LetzteSichtbareZeile()
       Dim letzteZeile As Long
       letzteZeile = ActiveWindow.VisibleRange.Row + ActiveWindow.VisibleRange.Rows.Count - 1
       MsgBox "Die letzte sichtbare Zeile ist: " & letzteZeile
    End Sub
  4. Schließe den VBA-Editor.

  5. Führe das Makro aus (Entwicklertools > Makros > LetzteSichtbareZeile).

Dieser Code verwendet ActiveWindow.VisibleRange, um die sichtbaren Zellen zu identifizieren und die letzte Zeile zu berechnen.


Häufige Fehler und Lösungen

Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

Lösung: Stelle sicher, dass Du das Makro im richtigen Kontext ausführst, also wenn das Excel-Fenster aktiv ist und Du nicht im VBA-Editor bist.

Fehler: "Die letzte sichtbare Zeile wird nicht korrekt angezeigt."

Lösung: Überprüfe die Sichtbarkeit der Zeilen. Wenn Du Filter oder gruppierte Zeilen verwendest, kann dies das Ergebnis beeinflussen.


Alternative Methoden

Eine alternative Methode, um sichtbare Zellen zu ermitteln, ist die Verwendung von SpecialCells. Hier ein Beispiel:

Sub SichtbareZellenErmitteln()
    Dim sichtbareZellen As Range
    Set sichtbareZellen = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)
    MsgBox "Die Anzahl der sichtbaren Zellen ist: " & sichtbareZellen.Count
End Sub

Diese Methode gibt die Anzahl der sichtbaren Zellen im verwendeten Bereich zurück und kann in Kombination mit ActiveWindow verwendet werden.


Praktische Beispiele

Ein praktisches Beispiel für die Anwendung von ActiveWindow.VisibleRange könnte sein, die letzten sichtbaren Werte in einer Datenanalyse zu erfassen. Wenn Du eine große Datenmenge hast und nur bestimmte Teile sichtbar sind, kannst Du diese Informationen einfach extrahieren.

Sub WerteDerSichtbarenZellen()
    Dim zelle As Range
    Dim werte As String
    For Each zelle In ActiveWindow.VisibleRange
        werte = werte & zelle.Value & vbCrLf
    Next zelle
    MsgBox "Werte der sichtbaren Zellen:" & vbCrLf & werte
End Sub

Tipps für Profis

  • Verwende ActiveWindow.VisibleRange.Cells für mehr Flexibilität beim Arbeiten mit Zellen in der Sichtbarkeit.
  • Denke daran, dass ActiveWindow nur das aktive Fenster betrachtet; das kann bei mehreren offenen Fenstern in Excel zu Verwirrung führen.
  • Nutze Application.ScreenUpdating = False, um die Performance zu verbessern, wenn Du mehrere Berechnungen in einer Schleife durchführst.

FAQ: Häufige Fragen

1. Wie kann ich die sichtbaren Zellen in eine andere Arbeitsmappe kopieren? Du kannst die sichtbaren Zellen mit Copy und PasteSpecial in eine andere Arbeitsmappe kopieren. Achte darauf, dass die Zielarbeitsmappe aktiv ist.

2. Gibt es eine Möglichkeit, die VisibleRange in einer bestimmten Zeile zu ermitteln? Ja, Du kannst die Row-Eigenschaft von ActiveWindow.VisibleRange verwenden, um die erste sichtbare Zeile zu ermitteln und dann mit einer Schleife durch die Sichtbarkeit zu iterieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige