Moin Moin,
wie so oft meldet sich mal wieder ein Anfänger zu Wort, sorry dafür aber danke für die Hilfe !
Ich komme bei meinem Porjekt einer Art Datenbank in VB für Excel nicht weiter. Undzwar soll mein Programm Werte aus Textboxen in die Tabelle eintragen in eine dafür vorgesehene Zeile und bei einem neuen Datensatz die nächste freie Zeile ansteuern. Soweit so gut. Mein Problem ist nun Folgendes :
Ich möchte das ich Automatisch eine "Margen Nummer" erzeuge sobald ein neuer Datensatz erzeugt wird. Das heißt ich will programmieren das er 1 2 3 4 5 6 7 8 9 usw. selbständig in die Passende Zelle Programmiert Also A3 = 1 A4 = 2 A5 = 3 usw. bis nahe zu ins unendliche.
Bisher läuft dieses nur über einen Counter desen Wert ich in einer Zelle zwischen Speicher und dann immer +1 erweiter. Echt unschön und Fehler anfällig.
Und wenn ich eh schon hier bin : Gibt es eine Möglichkeit diese werte je nach Zeile bzw. Laufnummer wieder in die UF einzulesen und diese so zu ändern ?
So das man im Idealfall nichts mehr von Hand ändern oder löschen muss ?
Ich hoffe ich habe mein Problem genau genug erklärt
Ansonsten Danke im vorraus !
Hier der Code :
Spoiler anzeigen
wie so oft meldet sich mal wieder ein Anfänger zu Wort, sorry dafür aber danke für die Hilfe !
Ich komme bei meinem Porjekt einer Art Datenbank in VB für Excel nicht weiter. Undzwar soll mein Programm Werte aus Textboxen in die Tabelle eintragen in eine dafür vorgesehene Zeile und bei einem neuen Datensatz die nächste freie Zeile ansteuern. Soweit so gut. Mein Problem ist nun Folgendes :
Ich möchte das ich Automatisch eine "Margen Nummer" erzeuge sobald ein neuer Datensatz erzeugt wird. Das heißt ich will programmieren das er 1 2 3 4 5 6 7 8 9 usw. selbständig in die Passende Zelle Programmiert Also A3 = 1 A4 = 2 A5 = 3 usw. bis nahe zu ins unendliche.
Bisher läuft dieses nur über einen Counter desen Wert ich in einer Zelle zwischen Speicher und dann immer +1 erweiter. Echt unschön und Fehler anfällig.
Und wenn ich eh schon hier bin : Gibt es eine Möglichkeit diese werte je nach Zeile bzw. Laufnummer wieder in die UF einzulesen und diese so zu ändern ?
So das man im Idealfall nichts mehr von Hand ändern oder löschen muss ?
Ich hoffe ich habe mein Problem genau genug erklärt
Ansonsten Danke im vorraus !
Hier der Code :
Private Sub Save_Click()
counter = counter + 1
If UserForm.AnzahlS = "" Or UserForm.AnzahlM = "" Or UserForm.ComboBox1 = "" Or UserForm.l = "" Or UserForm.d = "" Or UserForm.b = "" Or UserForm.sw = "" Or UserForm.GewichtS = "" Or UserForm.GewichtM = "" Or UserForm.TextBox1 = "" Or UserForm.TextBox2 = "" Then
MSGBOX.Text = "Alle Werte Eingeben !"
Else:
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 1).End(xlUp).Offset(1, 0).Value = counter
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 2).End(xlUp).Offset(1, 0).Value = AnzahlS.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 3).End(xlUp).Offset(1, 0).Value = AnzahlM.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 4).End(xlUp).Offset(1, 0).Value = Now
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 5).End(xlUp).Offset(1, 0).Value = ComboBox1.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 6).End(xlUp).Offset(1, 0).Value = l.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 7).End(xlUp).Offset(1, 0).Value = d.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 8).End(xlUp).Offset(1, 0).Value = b.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 9).End(xlUp).Offset(1, 0).Value = sw.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 11).End(xlUp).Offset(1, 0).Value = TextBox2.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 12).End(xlUp).Offset(1, 0).Value = TextBox1.Value
[p1] = counter
End If
End Sub
counter = counter + 1
If UserForm.AnzahlS = "" Or UserForm.AnzahlM = "" Or UserForm.ComboBox1 = "" Or UserForm.l = "" Or UserForm.d = "" Or UserForm.b = "" Or UserForm.sw = "" Or UserForm.GewichtS = "" Or UserForm.GewichtM = "" Or UserForm.TextBox1 = "" Or UserForm.TextBox2 = "" Then
MSGBOX.Text = "Alle Werte Eingeben !"
Else:
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 1).End(xlUp).Offset(1, 0).Value = counter
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 2).End(xlUp).Offset(1, 0).Value = AnzahlS.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 3).End(xlUp).Offset(1, 0).Value = AnzahlM.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 4).End(xlUp).Offset(1, 0).Value = Now
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 5).End(xlUp).Offset(1, 0).Value = ComboBox1.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 6).End(xlUp).Offset(1, 0).Value = l.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 7).End(xlUp).Offset(1, 0).Value = d.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 8).End(xlUp).Offset(1, 0).Value = b.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 9).End(xlUp).Offset(1, 0).Value = sw.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 11).End(xlUp).Offset(1, 0).Value = TextBox2.Value
Worksheets("Tabelle1").Cells(Worksheets("Tabelle1").Rows.Count, 12).End(xlUp).Offset(1, 0).Value = TextBox1.Value
[p1] = counter
End If
End Sub