Ausgeblendete Zeilen bei Suche überspringen

Hallo zusammen,

ich habe ein Makro geschrieben, dass die letzte gefüllte Zeile in einer Tabelle findet und danach den gefüllten Bereich in eine Powerpoint kopiert. Nun gut, das hat bisher prima geklappt. Neuerdings sind jetzt aber vor und zwischen den gefüllten Zeilen noch leere, ausgeblendete Zeilen. Diese sollten von meinem Makro einfach übergangen werden, also nicht als leere Zeilen erkannt werden. Das kriege ich leider bisher nicht hin.
Hier ist der problematische Teil des Codes, zusammen mit meinem Versuch, das Problem zu lösen.

Dim intRow As Integer

If IsEmpty(Range("C6")) Then Exit Sub
 intRow = 5
Do Until (IsEmpty(Cells(intRow, 5)) Or (Trim(Cells(intRow, 5).Value) = "")) And Cells(intRow, 5).Hidden = False
 intRow = intRow + 1
Loop

So, ich hoffe, dass ich das Problem verständlich beschrieben habe. Würde mich sehr freuen, wenn mir hier jemand helfen kann!
Viele Grüße
Marie

Dim intRow As Integer

If IsEmpty(Range(„C6“)) Then Exit Sub
intRow = 5
Do Until (IsEmpty(Cells(intRow, 5)) Or (Trim(Cells(intRow,
5).Value) = „“)) And Cells(intRow, 5).Hidden = False
intRow = intRow + 1
Loop

hallo Marie,

du kannst gerne nachfragen, dann erkläre ich warum, glub mir einfach und benutze für Zeilen und Spalten immer Long, also so:

Dim lngRow as Long

Ansonsten, die letzte gefüllte Zelle (bzw. deren zeilennummer) einer Spalte, hier E, ermittelt man so:

lngRow=cells(rows.count,5).End(xlup).row

Ungetestet würde ich mal behaupten, diese Codezeile schert sich nicht um ausgeblendete Zeilen. Wenn nun die untersten befüllten Zellen ausgeblendet sind und du willst die Zeilennummer der untersten sichtbaren gefüllten Zelle haben muß man wahrscheinlich anders vorgehen.
Ist aber auch machbar *denk*

Gruß
Reinhard

Hallo Marie.

dass die letzte gefüllte Zeile in einer Tabelle findet

Dim intRow As Integer

If IsEmpty(Range(„C6“)) Then Exit Sub
intRow = 5
Do Until (IsEmpty(Cells(intRow, 5)) Or (Trim(Cells(intRow,
5).Value) = „“)) And Cells(intRow, 5).Hidden = False
intRow = intRow + 1
Loop

Die letzte gefüllte Zeile wird zurückgegeben mit

Range("A" & Rows.Count).End(xlUp).Row

Du brauchst eigentlich keine Schleife. „A“ ersetzen durch die Spalte, in der Du suchst.

VG
Carsten

Vielen Dank, es funktioniert!