Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1808to1812
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
Inhaltsverzeichnis

überschreibt mir immer wieder die Zellen

überschreibt mir immer wieder die Zellen
06.02.2021 20:07:04
Jürgen
Hallo und guten Abend,
ich hänge und komme einfach nicht dahinter wo der Fehler ist.
Ich habe eine Excel Anwendung in welcher ich über 3 verschiedene Userformen Einträge aus jeweils einer anderen Tabelle auswählen kann und auch neue Datensätze in die Tabelle eintragen kann.
Also Userform 1 = Verkäufer welche auf die Tabelle Verkäufer zugreift
Userform 2 = Mitarbeiter greift auf Tabelle Mitarbeiter zu
Userform 3 = Kunden greift auf Tabelle Kunde zu
Der Aufruf usw. funktioniert eigentlich- nur beim speichern der Daten in die Tabelle sollte eigentlich die letzte Zeile gesucht werden und dann darunter in die nächste Zeile geschrieben werden.
Und da hakt es?
Ich kann nur 6 Einträge unter einander schreiben dann überschreibt er wieder einen der Einträge?
Der Button zum Speichern hat folgende Funktion:

Private Sub CommandButton4_Click()
If TextBox1 = 0 Then
MsgBox "Verkäufernummer ist falsch!", vbInformation, "Hinweis auf vorhanden"
Else
Dim FinalRow As Integer
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
'FinalRow = ActiveCell.Row + 1
Sheets("Verkäufer").Range("A" & CStr(FinalRow + 1)).Value = TextBox1.Value
Sheets("Verkäufer").Range("B" & CStr(FinalRow + 1)).Value = TextBox2
Sheets("Verkäufer").Range("C" & CStr(FinalRow + 1)).Value = TextBox3
Sheets("Verkäufer").Range("D" & CStr(FinalRow + 1)).Value = TextBox6
Sheets("Verkäufer").Range("E" & CStr(FinalRow + 1)).Value = TextBox5
Sheets("Verkäufer").Range("F" & CStr(FinalRow + 1)).Value = TextBox4
Sheets("Verkäufer").Range("G" & CStr(FinalRow + 1)).Value = TextBox7.Value
End If
End Sub

Ich kann wie gesagt daten eingeben - aber nach dem 6. Eintrag wird ab dem 7. ein beliebiger überschrieben.
Ich denke das es an dem finden der ersten freien Stelle hängt
aber ich komme nicht drauf was falsch ist.
Sicherlich hat jemand eine Idee.
Dankeschön im Voraus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: überschreibt mir immer wieder die Zellen
06.02.2021 20:08:57
Hajo_Zi
FinalRow wird in der aktuellen Tabelle ermittelt und nicht in "Verkäufer"

AW: überschreibt mir immer wieder die Zellen
06.02.2021 20:22:23
Werner
Hallo,
wie von Hajo schon geschrieben:
So wie du deinen Code geschrieben hast, wird die letzte Zeile immgerade aktiven Tabellenblatt ermittelt. Und wenn das ein anderes Blatt ist wie dein tatsächliches "Zielblatt" dann passt das halt nicht.
Zusätzlich:
Eine Variable für die Zeile würde ich zur Sicherheit als Long deklarieren.
Cstr bei Zuweisung der Variablen zur Range kannst du dir sparen.
Value ebenfalls, ist der default Wert.
Private Sub CommandButton4_Click()
Dim FinalRow As Long
If TextBox1 = 0 Then
MsgBox "Verkäufernummer ist falsch!", vbInformation, "Hinweis auf vorhanden"
Else
With Worksheets("Verkäufer")
FinalRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
.Range("A" & FinalRow) = TextBox1
.Range("B" & FinalRow) = TextBox2
.Range("C" & FinalRow) = TextBox3
.Range("D" & FinalRow) = TextBox6
.Range("E" & FinalRow) = TextBox5
.Range("F" & FinalRow) = TextBox4
.Range("G" & FinalRow) = TextBox7
End With
End If
End Sub
Gruß Werner
Anzeige
AW: überschreibt mir immer wieder die Zellen
06.02.2021 20:42:04
Jürgen
Super das wars - manchmal sieht man den Wald vor Bäumen nicht!
Dankeschön
AW: überschreibt mir immer wieder die Zellen
06.02.2021 21:00:52
Jürgen
Jetzt habe ich doch noch ein kleines Problem
Ich möchte wenn ich gespeichert habe die Tabelle nach den Kunden bzw. Verkäufer bzw. Mitarbeiternummern sortiert wird also nach Spalte A
mein Button sieht so aus
Worksheets("Mitarbeiter").Select
Range("A2").Select
Worksheets("Mitarbeiter").Sort.SortFields.Clear
Worksheets("Mitarbeiter").Sort.SortFields.Add2 Key:=Range( _
"A3:A776"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With Worksheets("Mitarbeiter").Sort
.SetRange Range("A2:G776")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
klappt aber irgendwie nicht (Die Einträge in der Tabelle fangen ab Zeile 3 an davor darüber ist eine Überschrift
Gruß Jürgen
Anzeige
AW: überschreibt mir immer wieder die Zellen
07.02.2021 11:08:41
Werner
Hallo,
Sub Makro2()
Dim loLetzte As Long
With Worksheets("Mitarbeiter")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A3:A" & loLetzte), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A2:G" & loLetzte)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End With
End Sub
Gruß Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige