Live-Forum - Die aktuellen Beiträge
Datum
Titel
07.12.2024 17:25:12
07.12.2024 16:21:30
07.12.2024 15:22:10
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Hallo WernerB.

Hallo WernerB.
26.04.2002 10:02:34
Wilhelm
Hallo Werner,
du hast mir die schöne Geschichte:
Option Explicit
Sub LetzteZelleB()
Dim i As Integer
For i = 20 To 1 Step -1
If Cells(i, 2).Value > 0 Then
Cells(i, 2).Select
Exit For
End If
Next i
End Sub
zum finden des letzten Wertes in einer Spalte geschickt.
Das klappt in einem nackten Datenblatt (Tabelle1) wunderbar.
Ich kann durch verändern der Ziffer 2 in der Klammer die durchsuchten Spalten verändern, läuft also.
Wenn ich das Teil nun in meine eigentliche Datei einbaue, und hier spielt die Musik in Spalte E (E17:E52) verändere ich demenstprechend 2 mal die 2 in cells(i, 2) in eine 5 und dann hängts.
Es wird regelmässig Zelle 20 in Spalte 5 aktiviert. Ende
Verändere ich die i = 20 in I= 52 dann hängts halt auch auf 52 rum.
Was mache ich falsch?
Wilhlem


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hallo WernerB.
26.04.2002 10:20:41
TL
Hallo Wilhlem, leider kenne ich die ursprüngliche Aufgabenstellung nicht, aber ich benutze immer folgenden Code, um die letzte Zelle einer Spalte zu finden. Do Until IsEmpty(Cells(y, 1).Value) y = y + 1 Loop Ich hoffe ich konnte dir damit etwas helfen. Gruß, Thomas
Re: Hallo WernerB.
26.04.2002 10:38:16
Wilhelm
Hallo Thomas, danke, erhalte Laufzeitfehler 1004 mit deiner Lösung. Sieht aber gut aus, irgendwo ein kleiner Fehler? Mein Problem: ich übernehme in Spalte E (E17:E52) per Formel(=A1 usw.)Werte aus der Nachbarspalte. Anschließend soll der letzte Wert der Spalte mit einem Vorgabewert verglichen werden. Wenn Werte gleich schreibt VBA einen Kennwert in eine Zelle von Tabelle2. Aber das klappt soweit. was nicht klappt ist das sichere Markieren des letzten Wertes in Spalte E.
Anzeige
Re: Hallo WernerB.
26.04.2002 10:50:16
TL
Hallo Wilhelm, wenn du die Werte per Formel aus Spalte A "ziehst" und im Bereich "E17:E52" darstellst, dann können die Daten aus Spalte A ja nur aus dem Bereich "A1 bis A36" sein!? Ich habe mir eine Simulationstabelle gebastelt und die Werte aus Spalte A per VBA übertragen und danach nach der letzten Zelle gesucht! Kein Problem. Gruß, Thomas
Re: Hallo WernerB.
26.04.2002 11:04:02
TL
Hallo, mit folgendem Code wird die letzte Zeile in Zelle "B1" ausgegeben. Ich denke, daß man den Code noch schöner programmieren kann, aber mir ist gerade nichts dazu eingefallen ;( Sub LetzteZelle() y = 17 For x = 17 To 52 inhalt = Cells(x, 5).Value If inhalt = "" Then Else: y = y + 1 End If Next x y = y - 1 Range("b1").Value = y End Sub Gruß, Thomas
Anzeige
Re: Hallo WernerB.
26.04.2002 11:06:34
Wilhelm
Hallo Thomas, Die Werte sind natürlich aus A17:A52. Aber das dürfte ja egal sein. Wo fügst du in VBA ein? Normales Modul per Sub? Wie kommt der Laufzeitfehler zustande? Wilhelm
Re: Hallo WernerB.
26.04.2002 11:46:41
Wilhelm
Hallo Thomas, so langsam bin ich am verzwazeln, Deine neue Lösung gibt mir jetzt in Zelle B1 die Zeilennummer der letzten Zelle mit Wert aus. Wilhelm braucht aber den Wert, oder aber einfach den Fokus auf dieser letzten Zelle. Gruß Wilhelm
Re: Hallo WernerB.
26.04.2002 11:58:44
TL
Hallo Verzweifelter ;) Was meinst du mit Fokus? Vielleicht "Zelle selektieren", dann statt Range("b1").Value = y den Code "cells(y,5).select" Was willst du mit dem Zeilenwert machen? Gruß, Thomas
Anzeige
Re: Hallo WernerB.
26.04.2002 12:24:25
Wilhelm
Hallo Thomas, genau das habe ich gemeint, nach dem Einfügen von "cells(y,5).Select" wird die letzte Zelle mit einem Wert als Inhalt zur aktiven Zelle (das meinte ich mit Fokus)ich muss diesen Wert ja weiterverarbeiten. D.h. ich vergleiche diesen Wert mit einem Vorgabewert und je nach Übereinstimmung wird in einem 2. Tabellenblatt ein Eintrag vorgenommen. Erst mal vielen Dank, ich hoffe daß das nun auch in der richtigen Datei klappt. Wilhelm
Letzte belegte Zelle
26.04.2002 14:01:45
Martin Beck
Hallo Wilhelm, wenn Du letzte belegte Zelle unterhalb von E17 markieren möchtest und dazwischen keine Leerzellen vorkommen, geht da am einfachsten mit dem Befehl Range("E17").End(xlDown).Select Gruß Martin Beck
Anzeige
Re: Hallo WernerB.
26.04.2002 18:23:56
WernerB.
Hallo Wilhelm, hier ist der Code (Deinen neuen Wünschen angepasst): Viel Erfolg wünscht WernerB.
Re: Hallo WernerB.
26.04.2002 20:00:59
Wilhelm
Hallo Werner, Hallo Thomas,Hallo Martin, ich merke gerade daß ich einen ganzen "Stall voll Leute" genervt und beschäftigt habe. Also vielen Dank für Eure Mühe und Geduld. Jetzt flutscht das Ganze einwandfrei. Zumindest dieser Teil meines Problemes ist auf der Reihe. Wenn ich Euch mal einen Stein in den Garten... Bis dahin. Grüße Wilhelm

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige