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

Problem Cells(Rows.Count)

Problem Cells(Rows.Count)
23.02.2007 20:28:00
Dieter
Hallo liebes Forum...
bin auf ein Problem gestossen, und habe bis lang keine sinvolle Lösung gefunden. Darum hier das Problem:
Ich nutze häufig den Befehl "cells(rows.count, x).end(xlup).row", um die letzte Zeile in Spalte x zu finden.
Das klappt aber nur, wenn die Zeile auch sichtbar ist... also nicht ausgeblendet. Das macht ja sogar noch einen gewissen Sinn, da dieser Befehl ja eigentlich ein Tastaurbefehl ist.
Wie bitte finde ich die letzte Zeile in einer definierten Spalte.
Entweder ist es echt kompliziert, oder aber so einfach, dass es mir dann jetzt schon leid tut, dass ich die Frage gestellt habe.
Freundlichst Dieter W.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem Cells(Rows.Count)
23.02.2007 20:51:55
Erich
Hallo Dieter,
sorry, das war NICHT die Lösung. (Ich hatte nicht getestet...)
Eine (wenn auch nicht so schnelle) Möglichkeit:

Sub Letzte_Zeile()
MsgBox LetzteZeile(2)
End Sub
Function LetzteZeile(intSp As Integer)
Dim zz As Long
For zz = Rows.Count To 1 Step -1
If Not IsEmpty(Cells(zz, intSp)) Then Exit For
Next
LetzteZeile = zz
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Problem Cells(Rows.Count)
23.02.2007 21:02:00
Dieter
Hallo Erich,
danke erst einmal für die Ansätze... wenn es auch nicht das ist, was ich suche. Ich bin angewiesen auf Schnelligkeit und suche eine Möglichkeit, ohne For-Schleifen und Zähler bedienen zu müssen.
Nicht böse gemeint... Gibt es noch andere Vorschläge?
Sonst muss ich das mit dem Ausblenden ändern...
In diesem Sinne mache ich jetzt Feierabend und knall mich vor die Kiste...
Dieter W.
AW: Problem Cells(Rows.Count)
23.02.2007 23:53:55
Daniel
Hallo
mir fallen da zwei Möglichkeiten ein:
Entweder alles einblenden
am einfachsten mit diesem 2-Zeiler
Sub test()
With ActiveSheet
If .FilterMode = True Then .ShowAllData
.Rows.Hidden = False
End With
End Sub

oder, falls die Zellen ausgeblendet bleiben sollen, doch über ne FOR-Schleife
falls du die letze Zeile öfters benötigst, würde ich dafür eine eigende Funktion definieren, dann brauchst du es nur einmal schreiben und verwendest im eigentlichen Makro nur noch den Funktionsaufruf.
Das könnte dann so aussehen´:
Public Function LetzteZeile(SpNr As Integer, Optional SH As Worksheet) As Long
Dim i As Long
Dim arr
If SH Is Nothing Then Set SH = ActiveSheet
With SH.UsedRange
arr = Range(SH.Cells(1, SpNr), SH.Cells(.Row + .Rows.Count - 1, SpNr)).Value
End With
For i = UBound(arr, 1) To 2 Step -1
If arr(i, 1) <> "" Then Exit For
Next
LetzteZeile = i
End Function

dieser Code sollte recht fix sein, da er anstelle eines langsamen Range-Objekte die wesentlich schnelleren Array-Variable verwendet. Ausserdem wird der zu durchsuchende Bereich auf das notwendige Minimum reduziert.
Zussätzlich kannst du diese Funktion auch im normalen Excel verwenden, nicht nur innerhalb eines Makros. (allerdings dann nur im aktiven Sheet)
Gruß, Daniel
Anzeige
AW: Problem Cells(Rows.Count)
24.02.2007 12:29:10
Dieter
Hallo Daniel...
die Function Letzte Zeile ist super. Das hat die nötige Geschwindigkeit, und berücksichtigt auch ausgeblendete Zellen. Echt Super... Außerdem noch gelernt, dass man einen Range auch einfach in ein Array kippen kann. Wusste ich bislang nur umgekehrt.
Super! Der Tag ist gerettet. Danke!
MfG Dieter W.

113 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige