Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

letzte beschriebene Zeile in einer Spalte ermitteln???





Frage

Hallo Helferlein! Ich bräuchte Eure Hilfe: Wie kann ich in VBA Excel die letzte beschriebene Zeile in einer Spalte herausfinden??? DANKE für Eure Hilfe Wünsch Euch allen einen angenehmen Freitag! mfg, gt

Antwort 1 von powder

Hallo,
relativ einfach in dem du dich zur aller letzten Zeile bewegst.
z.b. mit range("A65536").select
oder anderen Wert für andere spalte oder anderen aufruf mit rows oder ähnlichen wichtig es sind 65536 Zeilen. Und dann einfach mit:
End(xlUp)
zur ersten Zelle bewegst in der nach oben etwas steht, also der aller letzten Zeile deiner Tabelle.

Grüße Tino


Antwort 2 von coros

Hi gt,

nachfolgendes Makro kopiere in ein Standardmodul.

Sub letzte_beschriebene_Zeile()
Dim Zeile As Long, Zeile1 As Long, Suchbegriff As Long
Zeile = Range("A65536").End(xlUp).Row
MsgBox "Letzte Zeile ist Nr. " & Zeile
End Sub


Es wird die letzte beschriebene Zeile in Spalte A ermittelt. Wenn die letzte Zeile in einer anderen Spalte ermittelt werden soll, dann in Zeile

Zeile = Range("A65536").End(xlUp).Row

die Zellbezeichnung ändern.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von gt

Hallo Tino!

Danke für deine Hilfe...ist diese Variante nicht ein wenig langsam, da das Makro alle Zellen aufwärts abprüfen muss?

Ich hab in der Spalte E Werte untereinander und er soll mir nur den Bereich markieren der verwendet wird...also bis zur letzten verwendeten Zeile???
Danke, grüße gt

Antwort 4 von coros

Hi,

ich noch mal. Das kommt davon, wenn man mal eben schnell eine Antwort geben will und aus einer bestehenden Exceldatei eben den Code herauskopieren will. Dann kommen kleine Flüchtigkeitsfehler dazu. So in meiner Antwort, in der Zeile zur Typendeklaration Dim usw. Hier nun der bereinigte Code:

Sub letzte_beschriebene_Zeile()
Dim Zeile As Long
Zeile = Range("A65536").End(xlUp).Row
MsgBox "Letzte Zeile ist Nr. " & Zeile
End Sub


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von coros

Hi

und hier kommt der Code, der ab Zeile 1 bis zur letzten beschriebenen Zeile die Spalte E markiert.

Sub letzte_beschriebene_Zeile()
Dim Zeile As Long
Zeile = Range("E65536").End(xlUp).Row
Range(Cells(1, 5), Cells(Zeile, 5)).Select
End Sub


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von gt

Hallo Coros!

DANKE!!!!!
Also hab mir dein Makro in Excel ausprobiert und es funktioniert, damit ist mein Problem sehr sehr gut gelöst worden.
Herzlichen Dank und wünsch Dir einen sehr angenehm sonnigen Freitag noch!!!
mfg, gt

Antwort 7 von coros

Hi gt,

schön, das Dir so schnell geholfen werden konnte. Danke auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 8 von gt

Hallo Tino!

Danke dir auch nochmals...du hast mir einen sehr guten ansatz gegeben...(hat mit dem von Coros übereingestimmt)
Wünsch dir auch noche einen schönen, sonnigen freitag!!!
mfg, gt

Antwort 9 von powder

Hi,
sorry war erst jetzt wieder hier.
Ja Coros hat das genau so gelöst wie ich meinte hatte nur nicht die Zeit und auch Lust :) den Code zu tippen.
Vielleicht hilft es manchmal mehr wenn man auch versteht was man macht deshalb hab ichs nur erklärt.

Zur Geschwindigkeit das ist denk ich mal die schnellste Möglichkeit. Du kannst es gern mal in deinem Excel sheet testen. Der Aufruf entspricht dem Verwenden der END+Richtungs - Taste.

Du kannst auch direkt versuchen von oben nach unten zu gehen wirst aber "hängen" bleiben wenn eine Zelle leer ist. Deshalb geht man von der Letzten Zeile aus um garantiert die letzte Zeile zu erwischen.

Grüße Tino

Antwort 10 von nighty

hi alle :)

eine andere variante noch :)

ermittelt die letzte spalte EINER zeile :)

gruss nighty

rem ermittlung der letzten spalte von zeile 2

Sub makro01()
Dim LoLetzte As Integer
LoLetzte = IIf(IsEmpty(Range("IV2")), Range("IV2").End(xlToLeft).Column, 256)
Range("A5") = LoLetzte
End Sub

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: