Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - nächste sichtbare Zeile wählen

VBA - nächste sichtbare Zeile wählen
15.05.2018 11:36:31
udo
Hallo Forum, habe selbst schon etwas recherchiert und bin auf
folgenden Beispielcode gestoßen :
Dim Zeile As Long
Zeile = ActiveCell.Row
With Sheets("Kunden")
Do
Zeile = Zeile + 1
Loop Until Rows(Zeile).Hidden = False
Cells(80, 8).Select ' hier mein Versuch - greift aber nicht ?
Cells(Zeile, 8).Select
End With
Es soll ab Zeile 80 dann die nächste sichtbare Zeile gewählt werden
Bei mir sind in der Tabelle oberhalb Zeile 80 einige ( versch. ) Zeilen ausgeblendet, zB auch 20-29 ...
lasse ich das Makro laufen beginnt er offensichtlich bei Zeile 1 und wählt daher immer H30 anstatt zB H81 oder wenn gefiltert wird H102 oder so ...
je nachdem nach was halt gefiltert wird. Mein Autofilterbereich ist ab H81:AP10000
Deshalb hätte ich zunächst H80 angewählt und dann den Code ausgeführt - so dachte ich dass er dann die nächste sichtbare Zeile nimmt in Spalte H
Leider beginnt er nicht bei Zeile 80 sondern bei 1
Könnt ihr mir sagen wie ich das anpassen kann ?
Bin um jede Hilfe dankbar ,
LG udo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - nächste sichtbare Zeile wählen
15.05.2018 11:56:54
fcs
Hallo Udo,
Public Sub FindNextVisible()
Dim wks As Worksheet
Dim Zeile As Long
Set wks = ActiveSheet 'Sheets("Kunden")
Zeile = ActiveCell.Row
If Zeile 

Gruß
Franz
Prima Franz - das ist perfekt !
15.05.2018 12:07:57
udo
Ich danke dir sehr , damit kann ich wunderbar mein Code vervollständigen
Vielen liebn Dank für deine Hilfe
LG Udo
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Nächste sichtbare Zeile mit VBA in Excel wählen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und stelle sicher, dass Du das Arbeitsblatt mit den versteckten Zeilen geladen hast.

  2. Aktiviere die Entwicklertools in Excel, falls sie noch nicht aktiviert sind. Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.

  3. Öffne den VBA-Editor, indem Du Alt + F11 drückst.

  4. Füge ein neues Modul hinzu: Rechtsklick auf VBAProject (DeinWorkbook) > Einfügen > Modul.

  5. Füge den folgenden Code ein:

    Public Sub FindNextVisible()
       Dim Zeile As Long
       Zeile = ActiveCell.Row
       Do
           Zeile = Zeile + 1
       Loop Until Rows(Zeile).Hidden = False
       Cells(Zeile, ActiveCell.Column).Select
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Wähle die Zelle in der gewünschten Spalte (z.B. H80).

  8. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle FindNextVisible und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro beginnt bei Zeile 1
    Lösung: Stelle sicher, dass Du eine Zelle in der richtigen Zeile (z.B. H80) auswählst, bevor Du das Makro ausführst. Der Code muss bei der aktiven Zelle beginnen.

  • Fehler: Makro wählt die falsche Spalte
    Lösung: Der Code wählt die nächste sichtbare Zeile in der gleichen Spalte wie die aktive Zelle. Stelle sicher, dass Du die gewünschte Spalte aktivierst.


Alternative Methoden

Wenn Du die nächste sichtbare Zeile ohne VBA finden möchtest, kannst Du auch die Filterfunktion in Excel verwenden:

  1. Aktiviere den Autofilter in der Spalte, in der Du nach sichtbaren Zeilen suchen möchtest.
  2. Filtere die Daten, um nur die relevanten Zeilen anzuzeigen.
  3. Suche die erste sichtbare Zeile manuell.

Praktische Beispiele

Angenommen, Du hast in Spalte H einige Zeilen ausgeblendet und möchtest die erste sichtbare Zeile ab H80 finden:

  1. Wähle Zelle H80 aus.
  2. Führe das oben genannte Makro FindNextVisible aus.
  3. Das Makro wählt nun die nächste sichtbare Zeile in Spalte H nach H80 aus.

Tipps für Profis

  • Optimierung des Codes: Du kannst den Code anpassen, um mehrere Spalten gleichzeitig zu durchsuchen.
  • Fehlerbehandlung hinzufügen: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass das Makro nicht abstürzt, wenn keine sichtbaren Zeilen gefunden werden.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um die nächste sichtbare Zeile in einer bestimmten Spalte zu finden?
Du kannst die Zeile Cells(Zeile, ActiveCell.Column).Select ändern, um eine spezifische Spalte anzugeben, z.B. Cells(Zeile, 8).Select für Spalte H.

2. Was passiert, wenn es keine sichtbaren Zeilen gibt?
Das Makro wird in einer Schleife weiterlaufen. Es ist ratsam, eine Fehlerbehandlung zu implementieren, um diesen Fall zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige