Nächste freie Zeile schreiben
#1
Hallo zusammen

Ich möchte gerne das wenn ich in der Userform meine Daten eingetragen habe, das er immer in die nächste Zeile springt und dort die Werte einträgt. Jetzt im Moment überschreibt er mir immer die 1. Zeile mit den neuen Werten. Welchen Fehler mach ich?

Code:
Private Sub CommandButton2_Click()
Dim Last As Integer
Dim Last2 As Integer
Dim LetzteZahl As Long
Dim Inhalt As String


        Last = Sheets("Netzwerkkabel").Cells(3, 2).End(xlDown).Row + 1
   
    '*** Letzte Zahl ermitteln ***************************************************
    Last2 = Last - 1
    If (Last2 < 2) Then Last2 = 2
    Inhalt = Trim(Worksheets("Netzwerkkabel").Cells(Last2, 1).Value) & ""
    If (Inhalt = "") Then Inhalt = "0"
    If (IsNumeric(Inhalt) = False) Then Inhalt = "0"
    LetzteZahl = CLng(Inhalt)
    '***************************************************************************
   
    Worksheets("Netzwerkkabel").Cells(Last, 1).Value = LetzteZahl + 1 'Letzte ermittelte Zahl um eins erhöht in Zelle schreiben
    Worksheets("Netzwerkkabel").Cells(Last, 2).Value = UserForm2.TextBox1.Value
    Worksheets("Netzwerkkabel").Cells(Last, 3).Value = UserForm2.TextBox2.Value
    Worksheets("Netzwerkkabel").Cells(Last, 4).Value = UserForm2.TextBox3.Value
    Worksheets("Netzwerkkabel").Cells(Last, 5).Value = UserForm2.TextBox4.Value
    Worksheets("Netzwerkkabel").Cells(Last, 6).Value = UserForm2.CB_Charak.Value
   
   
   
    UserForm2.TextBox1.Text = ""
    UserForm2.TextBox2.Text = ""
    UserForm2.TextBox3.Text = ""
    UserForm2.TextBox4.Text = ""
    UserForm2.CB_Charak.Text = ""
    Exit Sub
   

End Sub

gruss Stefan
Antworten Top
#2
Hallo

ändere bitte den Suchlauf von unten (Blattende) nach oben! Dann wird es klappen.   Bei der Suche von Oben nach Unten sind leere Zellen verhängnisvoll.
Wenn die Spalte keine durchgehenden Daten hat gibt es bei xlDown immer eine falsche Last Zell Angabe!!
Last = Sheets("Netzwerkkabel").Cells(Rows.Count, 2).End(xlUp).Row + 1

mfg Gast 123
Antworten Top
#3
Jetzt schreibt er es aber am Ende hin. Ich möchte das er ab Zelle 5 schreibt.
Antworten Top
#4
Hallo

höfliche Verständnisfrage bevor ich weitermache:  was ist denn mit den Daten die hinter der Zeile 5 stehen??
Beim normalen kopieren werden die überschrieben.  Sollen die vorher nach unten verschoben werden??
Das sollte ich schon genau wissen, der Code wäre dann ja ganz anders ...

mfg Gast 123

Nachtrag   was mich an der ganzen Sache sehr verwirrt ist das du im Originalcode ab Zeile 3 die nächste leere Zelle nach unten suchst. Wenn Zeile 5 gemeint ist brauchst du im Originalcode nur die 3 durch 5 ersetzen.
Antworten Top
#5
Ich habe das Problem das es mir nicht in die nächste Freie Zelle schreibt, sondern immer in die gleiche.

Er darf mir erst ab der 5. Zelle was reinschreiben. Der nächste Eintrag muss dann in die Zelle 6 passieren und so weiter....

Ich möchte nur gerne wissen, wo der Fehler liegt.
Antworten Top
#6
Hallo

setze den Code einfach ab Zeile 5.  Stimmt denn die Spalte, mit 2 ist "B" gemeint, als 2. Spalte!  Stimmt der Blattname?  Ich kann das von hier nicht sehen!
Last = Sheets("Netzwerkkabel").Cells(5, 2).End(xlDown).Row + 1

mfg Gast 123
Antworten Top
#7
Ja das habe ich versucht, überschreibt mir aber immer die Werte in der Zelle 5 und schreibt nicht in die nächste freie Zelle.

Alle Angaben die du siehst sind richtig.
Antworten Top
#8
Hallöchen,

wenn es mit dem Vorschlag immer noch nicht klappt, dann poste nochmal das ganze Makro ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Hallo

kannst du uns die abgespeckte Datei hochladen?  Der Fehler interessiert mich sehr!  Wäre doch gelacht wenn wir den Tuck nicht finden!!!

mfg  Gast 123
Antworten Top
#10
Hier anbei meine Datei


Angehängte Dateien
.xlsm   Netzwerkkabellängen.xlsm (Größe: 29,41 KB / Downloads: 4)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste