Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte freie Zelle

letzte freie Zelle
01.05.2008 19:13:00
Ralf_P
Hallo,
wenn ich mit
X = Sheets("Datenbank").Range("K65536").End(xlUp).Row + 1
die letzte freie Zelle in Spalte K ermittle (z.B. Zeile 3) und dann in diese Zelle einen Wert schreibe
Range("K" & X).Value = "TEST"
und dann erneut die letzte ermittle
X = Sheets("Datenbank").Range("K65536").End(xlUp).Row + 1
meldet das Makro X=3 ?
Müßte eigentlich X=4 sein.
Woran kann das liegen?
Gruß Ralf

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

Betreff
Datum
Anwender
Anzeige
AW: letzte freie Zelle
01.05.2008 19:25:00
Matthias
Hallo
Kann ich leider nicht nachvollziehen 5 x getestet immer die nächste freie Zeile gemeldet.
Userbild
Gruß Matthias

AW: letzte freie Zelle
01.05.2008 20:15:00
Ralf_P
Hallo,
hast Recht. aber bei mir lautet die Anweisung auch

Sub test()
Dim new_ka As Integer
new_ka = Sheets("Tabelle1").Range(ActiveCell.Address).End(xlUp).Row + 1
Sheets("Tabelle1").Cells(new_ka, ActiveCell.Column).Value = "TEST"
End Sub


Ich dachte, dass wäre das selbe, ist es aber nicht.
Aktive Zelle ist A1
A1-A3 enthalten bereits Werte.
Trotzdem liefert new_ka = 2 und nicht 4, wie es sein sollte.
Ich wollte so die letzte freie Zelle der gerade aktiven Spalte ermitteln.
Gruß Ralf

Anzeige
AW: das war wohl unbeabsichtig ?
01.05.2008 20:45:42
Gerd
Hi Ralph,
der zuerst gezeigte Code (u. ....deinen Excel-Level kenne ich noch nicht)
Mannomann! :-) zu 1/x^y ist die ActiveCell erforderlich beim Testen.
Worksheets("ZZZZ").Activate
Worksheets("ZZZZZ").Range(rows.count, ActiveCell.column).End(xlUp).Row + 1
Gruß Gerd

Weiß gar nicht, was die ganze Diskussion...
02.05.2008 00:57:39
Luc:-?
...soll, Leute!
Es ist doch offensichtlich, dass der End-Eigenschaft von Range der falsche Parameter zugeordnet wird. Wenn die ActiveCell stets A1 bzw nicht die erste freie Zelle sein soll, muss es xlDown heißen. xlUp fkt nur, wenn stets auch die erste freie Zelle ausgewählt wurde. Kann man sehr leicht überprüfen... ;-)
Gruß Luc :-?

Anzeige
AW: Weiß gar nicht, was die ganze Diskussion...
02.05.2008 01:35:00
Gerd
Hallo Luc,
Zitat:

hast Recht. aber bei mir lautet die Anweisung auch


Dann war der erste Beitrag nur halt mal so ein kleiner Test für die Antworter.
Schon deshalb ist Daumen - xlDown passender :-)
Gruß Gerd

Ja, Gerd, es gibt doch immer wieder...
02.05.2008 01:56:12
Luc:-?
...Fragesteller, die wie weiland "Max Berg" meinen, uns erst "testen" zu müssen... :->
Aber vielleicht hat er auch gedacht, uns mit seiner Realität zu überfordern... ;-)
...oder wollte mal eben nur ein gaaanz besonders simples Testbsp zu einem schon an sich trivialen Tatbestand liefern. Aber wer weiß, ob das nun schon die endgültige Realität oder wieder nur virtuell war...
Gruß Luc :-?
PS: Wir sollten in analogen Fällen vielleicht wirklich stets die udF bzw User-Eigenschaft Thumb(xlDown) als Lösung vorschlagen. Vielleicht ergänzt ja auch mal Einer die xlAtoms entsprechend... ;-)

Anzeige
Wen Ralf's letzte Antwort interessiert,...
02.05.2008 20:06:00
Luc:-?
...der findet sie hier!
Gruß+SWE
Luc :-?

AW: eigentlich 4, ja, ...
01.05.2008 19:38:20
Gerd
falls Du in die richtigte Spalte im richtigen Sheet im richtigen Workbook einträgst und
die richtigte Spalte im richtigen Sheet im richtigen Workbook hinterher per Code wieder abfragst.
Range("K" & X).address(external:= true )= Sheets("Datenbank").Range("K" & X).Adress(external:= true)
Manchmal reicht Msgbox ActiveSheet.Name zur Überprüfung, da Range ohne Angaben "vorne dran"
sich darauf bezieht.
Gruß Gerd

Anzeige
AW: letzte freie Zelle
01.05.2008 19:48:00
Daniel
HI
dein Code funktioniert nur, wenn das Sheet("Datenbank") aktiv ist.
ist ein anderes Sheet aktiv, wird in Zeile

Range("K" & X).Value = "TEST"


"Test" in das gerade aktive Sheet geschreiben und das Sheet "Datenbank" ändert sich nicht.
du solltest auch hier immer vollständig referenzieren:


Sheets("Datenbank").Range("K" & X).Value = "Test")


Gruß, Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige