Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1000to1004
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
Inhaltsverzeichnis

Letzte beschriebene Zeile suchen

Letzte beschriebene Zeile suchen
19.08.2008 08:29:00
Thomas3
Guten Morgen zusammen,
ich muß aus über 1000 Listen Daten auslesen. Das ist kein Problem.
Jede Liste sollte so beschrieben werden, dass ab Zeile 13 bis je nach Eintragungen x-Zeile Spalte O gefüllt ist.
In der Spalte 1 ist in der Datenliste eine Formel hinterlegt, die sichtbar automatisch nach oben zählt, wenn in der Spalte B was einträgt ( also Datenzeile 1 ist beschrieben, Zeile 2 ist beschrieben und so weiter... )
In der Spalte O ist eine Gültigkeit hinterlegt, die, wenn die Zeile ausgefüllt ist, auszuwählen ist. wenn nix ausgewählt, dann bleibt die Spalte leer.
Um sicher zu gehen, dass ich auch wirklich alles übernommen habe, möchte ich nun folgendes machen :
Zähle Anzahl Zeilen Spalte A, zähle Anzahl Zeilen Spalte O, vergleiche, nimm die höchste
Problem :
Spalte A : Mal zählt er garnix, mal bis 999 ( bis dahin geht in der Datentabelle die Hochzählformel )
Spalte O : wie Spalte A
Zum Zählen nehme ich folgendes :
lzeile1 = ActiveWorkbook.Sheets("Registration of participants").Cells(Rows.Count, 1).End(xlUp).Row
Was mache ich falsch ?
Liebe Grüße
Thomas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte beschriebene Zeile suchen
19.08.2008 09:00:48
Erich
Hallo Thomas,
da stellen sich ein paar Fragen:
"Spalte A : Mal zählt er garnix, mal bis 999"
Bedeutet "garnix", dass es einen Fehler gibt? Oder Zeile 1 als Ergebnis?
Wenn in Spalte A bi Zeile 999 Formeln stehen, dann ist Spalte A bis zur Zeile 999 beschrieben.
Die Spalte eignet sich also nicht für die Feststellung der "letzten Zeile" mit ...End(xlUp).Row
Spalte B scheint da aussagekräftiger zu sein. Versuchs mal mit
lzeile1 = Sheets("Registration of participants").Cells(Rows.Count, 2).End(xlUp).Row
"In der Spalte O ist eine Gültigkeit hinterlegt, die, wenn die Zeile ausgefüllt ist, auszuwählen ist"
Die Gültigkeitsprüfung kommt doch nur zum Tragen, wenn in Spalte O geändert wird.
Wo und wie erzwingst du, dass eine Zelle in Spalte O auszuwählen ist?
"In der Spalte 1 ist in der Datenliste eine Formel hinterlegt" - Wie lautet die Formel?
(Es könnte sein, dass du die "letzte" Zeile mit Application.Max(columns(1)) erhältst.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Letzte beschriebene Zeile suchen
19.08.2008 09:23:22
Thomas3
Hallo Erich,
lieben Dank für die Rückmeldung. Ich versuche einmal die Fragen alle zu beantworten :
Frage 1
Das ist die Formel in der Spalte A :=WENN(C14="";"";A13+1). Die ist kopiert bis Zeile 999. Daher das Zählen bis Zeile 999
Spalte B :
Das ist der Titel des Namens, der auszulesen ist. Wenn da also nix drinnen steht, dann ist die Zeile leer. Im schlimmsten Fall der Fälle kann die ganze Spalte - weil keiner einen Titel hat - somit leer sein
Spalte O :
In dieser Spalte kann man aus einem Dropdown Feld einfügen, um welche Kategorie sich der Datensatz handelt. Also VIP, Besucher, Personal ..... Auch hier wieder. Wenn der Ausfüller das Feld ausgefüllt hat, dann steht da was drinnen, wenn nicht, dann habe ich so gesehen Pech gehabt.
Der Sinn ist folgender. Ich suche nach einer Lösung, dass halt der gesamte ausgefüllte Bereich erfasst und kopiert wird. Da in der Datei Formeln enthalten sind ( sie Spalte A ) ist es für mich etwas schwer den den Bereich, der definitiv ausgefüllt wurde, zu erfassen.
Liebe Grüße
Thomas

Anzeige
AW: Letzte beschriebene Zeile suchen
19.08.2008 12:30:00
Erich
Hi Thomas,
so ohne Beispielmappe fällt es schwer, Lösungsvorschläge zu machen. Vieles bleibt unklar.
Wenn in Spalte B hin und wieder ein Titel steht, ist es IMHO wenig sinnvoll,
diese Spalte per Formel in Spalte A auszuwerten.
Spalte O hilft hier auch nicht - da muss nicht immer etwas eingegeben werden.
Gibt es denn keine Spalte, in der IMMER etwas steht, wenn eine Zeile gefüllt ist?
Eine Spalte "Name" könnte so etwas sein. Oder gibt es auch Zeilen ohne Namen?
Wenn dem so wäre, könntest du anhand der Spalte mit den Namen die letzte Zeile feststellen.
Vielleicht solltest du doch mal eine Beispielmappe hochladen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Letzte beschriebene Zeile suchen
19.08.2008 13:01:06
Thomas3
hmm....
ich bin hier ein wenig unfit...
kann ich dir die datei auch persönlich zukommen lassen ?
da stehen vertrauliche sachen teilweise drinnen...
LG
Thomas

AW: Letzte beschriebene Zeile suchen
19.08.2008 13:37:39
Erich
Hi Thomas,
ja, du kannst mir eine Mappe auch zuschicken.
(Optimal ist das nicht - dabei habe nur ich die Möglichkeit zu antworten. Besser wäre,
du würdest die Daten reduzieren und nonymisieren und dann hier als Beispielmappe hochladen.)
Meine Adresse findest du - wg. Spam etwas verklausuliert - hier in der Profilliste, zu erreichen über
Forums-Seiten - Profile - Profilliste oder mit diesem Link: Profilliste
Damit habe ich jetzt nicht zugesagt, dass ich zur Lösung beitrage(n kann)...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Letzte beschriebene Zeile suchen
19.08.2008 14:45:00
Thomas3
Hallo Erich,
also... alles hoffentlich wesentliche raus...
Und keine Bange. Ich bin froh um jeden Tip.
Hier der Datei : https://www.herber.de/bbs/user/54723.xls
liebe Grüße
Thomas

AW: Letzte beschriebene Zeile suchen
19.08.2008 18:30:52
Erich
Hi Thomas,
probier mal (in ein allgemeines Modul):

Option Explicit
Sub tst()
MsgBox LetzteZeileInBereich(Columns("B:O"))           ' im gerade aktiven Blatt
' oder                                  ' mit vollst. Referenzierung des Bereichs:
MsgBox LetzteZeileInBereich(ActiveWorkbook.Sheets(1).Columns("B:O"))
End Sub
Function LetzteZeileInBereich(rngB As Range) As Long
Dim rng As Range
Set rng = rngB.Find("*", rngB.Cells(1, 1), xlValues, , xlByRows, xlPrevious)
If rng Is Nothing Then
LetzteZeileInBereich = rngB.Cells(1, 1).Row
Else
LetzteZeileInBereich = rng.Row
End If
End Function

Damit wird die letzte Zeile in den Spalten B bis O gefunden, in der ein Wert "" steht.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Letzte beschriebene Zeile suchen
20.08.2008 16:14:40
Thomas3
ja wahnsinn !!!!
das war es !
Ganz lieben Dank
Thomas

AW: Letzte beschriebene Zeile suchen
19.08.2008 13:27:00
Rudi
Hallo,
in dieser Funktion werden Zellen mit Formeln, die "" zurückgeben als leer angesehen, somit Rückgabe der letzten Zeile "".

Function LastRow( _
wks As Worksheet, _
Optional lngFirstRow As Long, _
Optional lngLastRow As Long) _
As Long
Dim lngTmp As Long, blnFound As Boolean
With Application
If .CountA(wks.Rows(wks.Rows.Count)) Then
LastRow = wks.Rows.Count: Exit Function
End If
If .CountA(wks.Cells) = 0 Then
LastRow = 0: Exit Function
End If
If lngFirstRow = 0 Then lngFirstRow = 1
If lngLastRow = 0 Then lngLastRow = wks.Rows.Count
lngTmp = (lngFirstRow + lngLastRow) / 2
If lngLastRow > lngFirstRow + 1 Then
If .CountBlank(wks.Range(.Rows(lngTmp), .Rows(lngLastRow))) _


Gruß
Rudi

Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige