Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Letzten Eintrag in einer Spalte per Makro finden

305 views
Skip to first unread message

Viola Hämmer

unread,
Apr 14, 2003, 10:34:30 AM4/14/03
to
Hallo,

hört sich leicht an, ich weiß aber trotzdem nicht wies geht!
Ich will mir durch ein Makro den letzten Wert einer Spalte ausgeben
lassen. Per Makro deshalb, dass ich es komfortabel in allen
Dokumenten, die ich auswerten muss, anzeigen lassen kann. In dieser
Spalte stehen ganzzahlige Werte von 0 bis 100. Mein Problem ist, dass
die Spalte in den Dokumenten verschiedene Anzahl von Zeilen hat:
einmal sind es 36999, dann 42789 o.ä. Deshalb kann ich keine konkrete
Zelle angeben, weil diese beim nächsten Dokument schon nicht mehr
stimmen würde. Gibt es dafür eine Lösung?

Danke im voraus
Viola

Arne Janning

unread,
Apr 14, 2003, 10:45:12 AM4/14/03
to
Hallo Viola,

Markiere mal eine Zeile in Deiner Tabelle und drücke dann STRG + SHIFT + *

Dann sollte Deine ganze Tabelle markiert sein.

Das CurrentRegion-Objekt beinhaltet genau diesen Tabellenbereich, den Du
auch mit der oben genannten Tastenkombination markieren kannst.

Die letzte Zeile kannst Du so ermitteln:

Range("A1").CurrentRegion.Rows.Count

wobei A1 eine Zelle in der Tabelle sein muß, von der Du die letzte Zeile
ermitteln willst.

Gruß

Arne

"Viola Hämmer" <vhae...@web.de> schrieb im Newsbeitrag
news:ca3fb298.03041...@posting.google.com...

Thomas Ramel

unread,
Apr 14, 2003, 11:09:57 AM4/14/03
to
Grüezi Viola

Viola Hämmer schrieb:


>
> Ich will mir durch ein Makro den letzten Wert einer Spalte ausgeben
> lassen. Per Makro deshalb, dass ich es komfortabel in allen
> Dokumenten, die ich auswerten muss, anzeigen lassen kann. In dieser
> Spalte stehen ganzzahlige Werte von 0 bis 100. Mein Problem ist, dass
> die Spalte in den Dokumenten verschiedene Anzahl von Zeilen hat:
> einmal sind es 36999, dann 42789 o.ä. Deshalb kann ich keine konkrete
> Zelle angeben, weil diese beim nächsten Dokument schon nicht mehr
> stimmen würde. Gibt es dafür eine Lösung?

Die letzte beschiebene Zeile de Spalte D erhältst Du z.B durch die folgende
VBA-Anweisung:

Dim lgLastRow As Long
lgLastRow = IIf(IsEmpty(Range("D65536")), _
Range("D65536").End(xlUp).Row, 65536)

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

Viola Hämmer

unread,
Apr 15, 2003, 4:23:31 AM4/15/03
to
Thomas Ramel <t.r...@mvps.org> wrote in message news:<3E9ACF45...@mvps.org>...


Hallo Thomas,

leider klappt auch das nicht auf Anhieb. Ich habe zwei verschiedene
Tabellenblätter: In "Spielverlauf" stehen die Daten, hier soll aus der
Spalte P der letzte Wert in die Zelle B6 des Tabellenblatts
"Auswertung eingetragen werden. Was mache ich denn mit dem Code von
Dir? Ich habe ihn kopiert und in ein Makro eingetragen, bloß leider
hatte die Ausführung nicht den gewünschten Effekt. Auch die Zeilen
einfach in die Formelzeile zu kopieren hat nicht funktioniert. Du
siehst, ich habe wirklich nicht viel Ahnung von Excel oder VBA -
vielleicht kannst Du mir ja noch einen leichter verständlichen Tipp
für mein Problem geben!

Danke im voraus
Viola

Arne Janning

unread,
Apr 15, 2003, 5:16:11 AM4/15/03
to
Hallo Viola,

Den folgenden Code kannst Du in ein Makro einfügen:

Dim wbk as Excel.Workbook
Set wbk = ActiveWorkbook
Dim sht as Excel.Worksheet
set sht = wbk.Worksheets("Spielverlauf")
sht.cells(6, 2).value = sht.cells(sht.Range("P1").CurrentRegion.Rows.Count,
16).Value


Das bedeutet:

Wähle das Tabellenblatt "Spielverlauf" aus (set sht =
wbk.Worksheets("Spielverlauf"))
und weise der Zelle B6 (sht.cells(6, 2).value) den letzten Wert aus der
Spalte P zu (sht.cells(sht.Range("P1").CurrentRegion.Rows.Count, 16).Value)

Gruß

Arne Janning

0 new messages