Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte auch unsichtbare Zeile trotz Autofilter ?

letzte auch unsichtbare Zeile trotz Autofilter ?
22.09.2004 14:07:45
zacharias
Hallo liebe Leute
ich komme nicht weiter:
Ich will schnell (ohne Schleife) die wirklich letzte Zeile einer Tabelle erkennen auch wenn diese durch Autofilter "ausgeblendet" ist.
So (auch mit specialcells) klappt es nicht
activesheet.Cells(Rows.Count, 1).End(xlUp).Row
da immer nur die letzte sichtbare Zeile genannt wird, obwohl es noch durch den Autofilter "ausgeblendete" Zeilen darunter gibt.
Ich bin wie immer für jeden Hinweis äußerst dankbar.
Euer
Zacharias

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

Betreff
Datum
Anwender
Anzeige
AW: letzte auch unsichtbare Zeile trotz Autofilter
Reinhard
Hi Zacharias,
solang keine direktere Lösung reinkommt, probiers mal so:
Sub tt() With Worksheets("Tabelle1") .Range("A:A").Copy Destination:=Worksheets("Tabelle2").Range("A1") MsgBox Worksheets("Tabelle2").Range("A65536").End(xlUp).Row End With End Sub
Gruß
Reinhard
letzte benutzte Zeile über Zeilenhöhe finden
Beate
Hallo Zacharias,
höchste belegte Zeilenzahl auch bei ausgeblendeten Zeilen mit Namensdefinition auch ohne VBA:
Einfügen - Name - Definieren - Name: ZH
Bezieht sich auf:
=ZELLE.ZUORDNEN(17;INDIREKT("ZS(-1)";))
Mit ZH wird immer die Zeilenhöhe der LINKEN Nachbarbarzelle ausgelesen (logischerweise identisch mit der Zeilenhöhe der Zelle, in der ZH steht).
Diese Funktion habe ich im Beispiel in Spalte L eingefügt und L1 gibt höchste belegte Zeilenzahl aus. Und in Zelle L1 befindet sich die Formel: =ANZAHL(L:L) und die zählt die Zeilenhöhe 0 mit!
Aber Achtung: Das bloße Ein-und Ausblenden von Zeilen löst keine Neuberechnung aus.
Deshalb ist es günstig, irgendwo die TEILERGEBNIS-Funktion einzubauen, die springt beim Filtern ja an und löst Neuberechnung aus.
Beispieldatei:
https://www.herber.de/bbs/user/11190.xls
Gruß,
Beate
Anzeige
geht auch nur mit ANZAHL
Beate
Hallo Zacharias,
habe gerade gemerkt, dass es ja viel einfacher geht; In beliebige Zelle Zeile 1 im kannst du ANZAHL() einfügen, wenn die Spalte durchgehend bis zur letzten benutzten Zeile ausgefüllt ist, kriegst du auch dann die benutzte Zeilenzahl zurückgegebn, kannst dir also den Umweg über die Zeilenhöhe sparen:
Tabelle1
 K
117
212
847
1030
1179
Formeln der Tabelle
K1 : =ANZAHL(K:K)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß,
Beate
Anzeige
AW: geht auch nur mit ANZAHL
zacharias
Danke Ihr zwei,
Reinhard Deine Lösung hatte ich bereits probiert, liefert aber die letzte sichtbare.
Beate, ich brauche die Letzte Zeile im VBA. Vielleicht hilft mir der Tip trotzdem weiter, da ich ihn möglicherweise über die worksheetfunction nutzen kann.
Auf jeden Fall nochmal vielen Dank für Euren Einsatz.
Schöne Grüße aus Wolfsburg
Zacharias
?
Reinhard
Hi Zacharias,
ich habe in A1:A10 Werte stehen, A11:A65536 ist leer. Die Zeilen von A5 bis A10 blende ich aus.
Dann lass ich mein Makro laufen und es gibt mir wie von dir gewünscht 10 zurück.
Sub tt() With Worksheets("Tabelle1") .Range("A:A").Copy Destination:=Worksheets("Tabelle2").Range("A1") MsgBox Worksheets("Tabelle2").Range("A65536").End(xlUp).Row End With End Sub
Gruß
Reinhard
Anzeige
AW: ?
zacharias
Hallo Reinhard
Du hast Recht, da Excel ja standardmäßig auch die ausgeblendeten mitkopiert,
wirkt die Methode auf alle. Jetzt muß ich nur noch den Umweg über die Kopie
umgehen können, da ich sehr viele Zeilen in der Datei habe.
Hast Du noch eine Idee, ob es auch ohne die Kopie geht ?
Gruß
Zacharias
AW: ?
ypsilon
hi,
zwei möglichkeiten:

Sub testI()
letzte_Zeile = WorksheetFunction.CountA(Range("A:A"))
End Sub


Sub testII()
letzte_Zeile = ActiveCell.CurrentRegion.Rows.Count
End Sub

cu Micha
Anzeige
AW: ?
zacharias
Hallo micha alias ypsilon
1000 Dank Du ahnst nicht wie lange ich schon suche !
Lösung 2 klappt prima.

Sub testII()
letzte_Zeile = ActiveCell.CurrentRegion.Rows.Count
End Sub

Gruß
Zacharias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige