Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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
letzte Zelle ermitteln
25.10.2014 19:39:38
Kurt
Guten Abend,
habe mal Gegoogelt aber nicht das Richtige gefunden.
Ich möchte in der Zeile 1 die letzte belegte Zelle ermitteln und dort
soll die Zelle aktiviert werden.
Hinweis: esind nicht alle Zellen in der Zeile Beschriftet.
gruß
kurt k

36
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zelle ermitteln
25.10.2014 19:46:04
Beverly
Hi Kurt,
letze belegte Zeile in Spalte A:
    Dim lngLetzte As Long
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)


AW: letzte Zelle ermitteln
25.10.2014 19:49:41
Matze
Hallo Kurt
Sub LetzteZelleInZeile()
Dim loletzte As Long
loletzte = Cells(1, Columns.Count).End(xlToLeft).Column
'dient zum selektieren der Zelle ist aber meist nicht nötig
Cells(1, loletzte).Select
End Sub
Matze

AW: letzte Zelle ermitteln
25.10.2014 19:54:12
Beverly
Hi Matze,
ist das nicht der Code für die letze belegte Spalte?


AW: letzte Zelle ermitteln
25.10.2014 19:56:29
Beverly
Sorry, sehe gerade habe die Frage falsch gelesen.
Allerdings gibt dieser Code einen Fehler, wenn die letzte Spalte belegt ist.


Anzeige
Matze klappt leider auch nicht !
25.10.2014 20:06:27
Kurt

Klappt nicht ist keine AW, denn es klappt ...
25.10.2014 20:26:56
Luc:-?
…definitiv, Kurt!
Welche Zelle wird denn ausgewählt, vor oder nach AC1? Und was steht dann in der? Prüfe mit ISTLEER!
Ansonsten bitte mal belegt definieren! ;->
Gruß, Luc :-?

Hallo Luc..
25.10.2014 20:32:08
Kurt
Guten Abend Luc,
da wo der Courser vorher Stand ist er noch nach Ablauf
Makro.
Die Zeile 1 ist unterschiedlich befüllt, daher sind LEERE Zellen dazwischen
und die letzte Zelle wo Text drin steht ist AC1
gruß
kurt k

AW: Hallo Luc..
25.10.2014 20:37:10
Matze
https://www.herber.de/bbs/user/93370.xlsm
Du erhälst mit loletzte die 29, das sagt aus das es die 29 SPalte ist
wenn du das Ergebnis dieser Zelle haben möchtest musst du den Wert mit value ausgeben.
Gruß Matze

Anzeige
Die LeerZellen stören Matzes Pgm NICHT, ...
26.10.2014 00:34:24
Luc:-?
…Kurt,
und da die gefundene Zelle ja Selectiert wird, muss das auch AC1 sein, wenn das wirklich die letzte „belegte“ Zelle in dieser Zeile ist. Aber evtl lässt du das Pgm ja auf dem falschen Blatt laufen (oder viell auch gar nicht, denn es läuft nicht von allein :-]), da sich nichts tut (weitere Urachen sind auch noch möglich, ggf war die letzte Zelle ja schon ausgewählt ;-])…
Luc :-?

AW: Matze klappt leider auch nicht !
25.10.2014 20:27:22
Daniel
Hi
für die letzte Belegte Zelle in einer Zeile kannst du auch das verwenden:
rows(1).find(what:="*", lookat:=xlwhole, lookin:=xlformulas, searchdirection:=xlprevious).activate
Gruß Daniel

Anzeige
Hallo Daniel Laufzeitfehler...
25.10.2014 20:34:26
Kurt
Guten Abend Daniel,
Laufzeitfehler 91
Objektvariable oder With... nicht festgelegt.
gruß kurt k

GOTTSEIDANK !!! --))
25.10.2014 20:37:15
Kurt
Hallo Daniel,
so klappt es !!!
ActiveSheet.Rows(1).Find(what:="*", lookat:=xlWhole, LookIn:=xlFormulas, searchdirection:=xlPrevious).Activate
ALLEN einen schönes Wochende noch !
gruß Kurt k

AW: GOTTSEIDANK !!! --))
25.10.2014 20:42:19
Matze
meins sollte auch zum Ziele führen,
schau dir die Muster Datei an

AW: Hallo Matthias
25.10.2014 21:15:09
Walter
Hallo Matthias,
werde ich morgen Früh nochmals prüfen und gebe Bescheid.
Gruß Kurt K

Warum unterschiedliche Benutzernamen?
25.10.2014 22:15:18
Matze
Hallo Kurt,
nicht persönlich gegen dich gesehen, sondern allgemein sehe ich es so das man bei einem USERNAMEN bleiben sollte da es zu manch einer Derben Verwechselung kommen kann.
Ich kenne dank diesem Forum mittlerweile viele User mit ihrem Usernamen und weis immer gleich wie ich Ihn zuordnen kann. Also die Bitte meinerseits, bleib bei einem,
Gruß Matze

Anzeige
Sorry vom Sohn Ipad gesendet
26.10.2014 08:55:02
Kurt
Guten Morgen, Matthias,
Sorry Verwechslung, habe vom Ipad meines Sohnes gesendet.
Gruß
kurt k

Hast du darauf auch gerechnet, ...
26.10.2014 15:08:07
Luc:-?
…Kurt,
denn das könnte das Mysterium evtl erklären?!
Gruß, Luc :-?

Ja, aber gerade nicht...
26.10.2014 15:52:04
Kurt
Hallo Luc,
habe die kompl. Bearbeitung am PC durchgeführt.
gruß kurt k

AW: Ja, aber gerade nicht...
26.10.2014 18:45:29
Matze
Hallo Kurt,
nur mal so am Rande, da sich ja "NIX" tut bei deiner Datei, kann es sein das du die gar nicht als "XLSM" abgespeichert hast? ohne dies zu tun würden die Makros NICHT laufen.
Oder wenn in xlsm gespeichert ist, das Makros deaktiviert sind?
Gru0 Matze

Guten Morgen Matthias, leider ...
26.10.2014 11:40:17
Kurt
Guten Morgen Matthias,
leider bleibt der Courser da stehen wo er vorher war.
Bei deiner Musterdatei ebenfalls, Warum ?
gruß Kurt K

Anzeige
AW: Guten Morgen Matthias, leider ...
26.10.2014 18:14:04
Matze
Hallo Kurt,
stell DEINE Datei hier ein per Upload, ich blick hier ja kaum noch durch.
Mein Code sollte eigentlich das tun, was zum Start deines ERSTEN Beitrags gewünscht war:
Ich möchte in der Zeile 1 die letzte belegte Zelle ermitteln und dort
soll die Zelle aktiviert werden.
Wenn du die hier nicht einstellen kannst, sende die Datei an Machtnix21@gmx.de
Gruß Matze

leider Fehler
25.10.2014 19:57:06
Kurt
Hallo zusammen,
leider wird nicht die Zelle aktiviert die belegt ist.
Bei mir ist dies die Zelle AC1 also Spalte 29.
In der ZEILE 1 die letzte belegte Zelle !
gruß kurt

Anzeige
AW: letzte Zelle ermitteln
25.10.2014 19:57:43
Hajo_Zi
Hallo Kurt,
bei der Lösung musst Du nur beachten, falls die letzte Spalte der Zeile belegt ist bekommst Du ein falsches Ergebnis.
Gruß Hajo

Hajo versteh ich nicht ?
25.10.2014 20:02:17
Kurt
Hallo Hajo,
das stimmt, bleibt hier stehen:
Cells(1, loletzte).Select
leider klappt es nicht.
Ich hatte geschrieben das meherer Zellen in der Zeile 1 LEER sind
aber die letzte belgte AC1 ist.
kurt k

AW: Hajo versteh ich nicht ?
26.10.2014 14:13:25
Ewald
Hallo Kurt,
die Sub ist in Ordnung,
wo hast du denn den Code stehen, in einem allgemeinen Modul oder im Tabellenmodul.
Gruß Ewald

Anzeige
Hallo Ewald
26.10.2014 15:53:00
Kurt
Hallo Ewald,
im aktuellen Modul !
gruß kurt k

AW: Hallo Ewald
26.10.2014 17:12:51
Ewald
Hallo Kurt,
was heißt aktuell?
was ist auf der linken Seite im Explorer leichtmarkiert
Modul1,Modul2 oder Tabelle1,Tabelle2
Gruß Ewald

AW: Hallo Ewald
26.10.2014 21:09:33
Kurt
Guten Abend Ewald,
ich versteh es nicht, die Zeile Funktioniert doch. Wieso dann die vom Matthias
nicht.
Kurt k

AW: Hallo Ewald
26.10.2014 22:44:04
Ewald
Hallo Kurt,
teste mal diesen Code

Sub LetzteZelleInZeile()
Dim loletzte As Long
loletzte = Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox loletzte               'dient zum selektieren der Zelle ist aber meist nicht nötig
Cells(1, loletzte).Select
End Sub
und sag mal was die Msgbox anzeigt.
die ganze erste Zelle ist leer, nur in Spalte XFC steht ein Wert,dann ist alles in Ordnung.
Nur wenn in Spalte XFD was steht,funktioniert das nicht mehr. Diese Spalte muß also frei bleiben
Gruß Ewald

Anzeige
Guten Morgen Ewald --))
27.10.2014 09:21:37
Kurt
Guten Morgen Ewald,
es wird die Spalte 29 in der MSGBOX angezeigt und der Curser springt
dort hin.
DANKE !!!
Schöne Woche !

Guten Morgen Kurt ...
27.10.2014 10:13:10
Matthias
Hallo Kurt
Nur meine persönliche Meinung!
Ich würde den Vorschlag von Daniel vorziehen.
Nur noch ein On Error Resume Next vorschalten.
Sub Daniel()
On Error Resume Next
ActiveSheet.Rows(1).Find(what:="*", lookat:=xlWhole, LookIn:=xlFormulas, searchdirection:= _
xlPrevious).Activate
End Sub
So kannst Du dann auch die letzte Zelle der Zeile(1) benutzen.
Sollte es keinen Eintrag in der Zeile geben bleibt der Cursor
an seiner Position ohne nach A1 zu springen (was ich als vorteilhaft erachte)
Probiers einfach aus.
Gruß Matthias

Danke für den Hinweis Matthias !
27.10.2014 10:35:47
Kurt
Ich wünsche Dir noch eine schöne Woche.
gruß
kurt k

AW: ohne On Error Resume Next
27.10.2014 12:34:16
Daniel
Hi
On Error Resume Next sollte sparsam verwendet werden.
Für diese Anwendung ist es besser, die gesuchte Zelle nicht sofort zu aktivieren sondern erst mal in einer Variablen abzulegen.
Das erzeugt keinen Fehler wenn der Suchwert nicht gefunden werden kann, sondern die Variable bleibt leer. Diesen Fall kann man dann recht einfach prüfen und so Fehlerabbrüche vermeiden.
Ausserdem hat man die letzte Zelle dann gespeichert und kann bei Bedarf ihre Werte (Zeile, Spalte, Inhalt usw) direkt abfragen, und sich so in den meisten Fällen ein aktiveren ersparen.

dim rngLetzeZelle as Range
Set rngLetzteZelle = Rows(1).Find(What:="*", Lookat:=xlwhole, Lookin:=xlformulas,  _
Searchdirection:=xlprevious)
If Not rngLetzteZelle is Nothing then rngLetzteZelle.activate

Gruß Daniel

Hall Daniel, danke. -)
29.10.2014 11:51:42
Kurt
Hallo Daniel,
danke für alles und die zusätzliche Info.
gruß
kurt k

AW: Guten Morgen Ewald --))
27.10.2014 10:40:09
Ewald
Hallo Kurt,
danke für die Rückmeldung,
die Ausnahme, das es bei der letzten Spalte nicht geht,ist ja eher theoretischer Natur, wann werden 16384 Spalten benutzt.
Gruß Ewald

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige