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

erste freie Zelle: stehe am Schlauch

erste freie Zelle: stehe am Schlauch
05.10.2003 20:54:39
Franz W.
Hallo Fachleute,

ich stehe auf dem Schlauch mit folgendem Teilcode:


With Worksheets("aktive_kunden")
.Columns(1).ClearContents
.Range("A1") = "Nr."
loLetzte = 65536
If .Range("A65536") = "" Then loLetzte = .Range("A65536").End(xlUp).Row
End With

Spalte A wird gelöscht, dann wird in A1 was eingetragen ("Nr."). Und "loLetzte" sollte jetzt eigentlich "2" sein!! Ist aber "1"!! Ist übrigens auch "1", wenn ich in A1 nichts eintrage!! Da kommt für "loLetzte" auch "1" raus!! Ich versteh's nicht und komm nicht dahinter und bitte Euch um Eure Hilfe.

Grüße
Franz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erste freie Zelle: stehe am Schlauch
05.10.2003 20:58:44
Ramses
Hallo Franz,

beides ist korrekt. Es gibt keine Zeile 0 :-)
Verwende

loLetzte = .Range("A65536").End(xlUp).Row + 1

Gruss Rainer
AW: erste freie Zelle: stehe am Schlauch
05.10.2003 21:02:13
Christoph
Hi Farnz,
der Ausdruck: "Range("A65536").End(xlUp).Row" oder auch "Cells(Rows.Count, 1).End(xlUp).Row" gibt (von unten nach oben gezählt) die Zeile in der Spalte A mit dem letzten Entrag. Da es keine Zeile über Zeile 1 gibt ist bei einer leeren Spalte die "loLetzte" die Zeile 1. Wenn du die nächste freie Zeile haben willst dann schreib: "loLetzte +1"

Gruß
Christoph
AW: erste freie Zelle: stehe am Schlauch
05.10.2003 21:05:42
PeterW
Hallo Franz,

mal ne ganz dumme Frage: wenn du die Spalte löschst warum willst du, nachdem in A1 etwas geschrieben wurde, die letzte Zelle suchen? Je nachdem wass du vor hast setze loLetzte doch direkt auf 2.

Gruß
Peter
Anzeige
AW: erste freie Zelle: stehe am Schlauch
05.10.2003 21:20:49
Franz W.
Hallo Peter,

eigentlich hast Du recht. Aber im folgenden zähle ich loLetzte in einer For-Schleife weiter (übrigens mit Deiner Hilfe von vorhin) und verwende es dann noch mal:

For Each NrZel In KdBereich
If IsNumeric(NrZel) And Not NrZel = "" And NrZel <= 999 Then
' If IsNumeric(NrZel) And Not NrZel = "" And Len(NrZel) <= 3 Then
NrZel.Copy Destination:=Worksheets("aktive_kunden").Cells(loLetzte, 1)
loLetzte = loLetzte + 1
End If
Next
ActiveWorkbook.Names("NurAktive").Delete
ActiveWorkbook.Names.Add Name:="NurAktive", RefersToR1C1:= _
"=aktive_kunden!R1C1:R" & loLetzte - 1 & "C4"

Grüße
Franz
Anzeige
AW: erste freie Zelle: stehe am Schlauch
05.10.2003 21:30:26
PeterW
Hallo Franz,

verstehe dein "Aber" nicht. Es ist doch egal, ob du eine Variable berechnest oder direkt zuweist:

With Worksheets("aktive_kunden")
.Columns(1).ClearContents
.Range("A1") = "Nr."
loLetzte = 2
End With

sollte deine nachfolgende Schleife nicht nachteilig beeinflussen. Anders ausgedrückt: warum willst du den Code arbeiten lassen wenn du das Ergebnis schon kennst, schneller wird er dadurch bestimmt nicht. ;-)

Gruß
Peter
Stimmt!
05.10.2003 21:38:35
Franz W.
Hallo Peter,

jetzt hast Du doch wieder das letzte Wort :-)), und ich lass es Dir gerne, es stimmt nämlich! (war nicht so ernst gemeint, weiß schon dass es Dir darum nicht geht!) Bei Deinem Tipp dachte ich zuerst daran, loLetzte durch 2 zu ersetzen. Darum mein Einwand, dass ich's ja noch brauche. Aber Du hast ja geschrieben: "setze loLetzte auf 2", und da hab ich wohl nur etwas schlampig drüber gelesen.

Vielen Dank und Grüße
Franz
Anzeige
Noch was dazugelernt heute abend :-))
05.10.2003 21:16:43
Franz W.
VIELEN DANK EUCH ALLEN !! Da hätt ich noch ne Weile gesucht...

Einen schönen Abend und Grüße
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige