Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eintrag in nächste leere Zeile oder Überschreiben

Eintrag in nächste leere Zeile oder Überschreiben
23.07.2016 19:50:04
Gerwin
Hallo Zusammen,
ich bastele grade an einer Datenbank in meinem geliebten Excel und hänge grade bisschen fest und hoffe, dass Ihr mir helfen könnt.
Das unten aufgeführte Makro stammt im Orginal von http://online-vba.de/vba_tutorialuserform.php
Ich habe es für meine Bedürfnisse umfunktioniert, da ich auch ohne ListBox arbeite. Ich habe die Orginalstellen die ich nicht benötige auskommentiert, hoffe das verwirrt nicht.
Mein Problem ist nun folgendes. Das Makro ändert gegenwärtig einen bestehenden Datensatz. Ich Möchte dieses aber auch verwenden um einen neuen Datensatz anzulegen. Sprich wenn er den Inhalt aus TB1(TextBox1) in Spalte A des Tabellenblattes nicht findet soll er in die nächste freie Zeile einen neuen Datensatz anlegen.
Vielleicht liegt es auch daran das ich seit 7 Uhr programmiere (basteln triffts eher) und jetzt nicht mehr klar denken kann.
Freue mich von euch zu hören
LG
Euer Gerwin

Private Sub CommandButton9_Click()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
'    If ListBox1.ListIndex = -1 Then Exit Sub
'Wir müssen prüfen, ob die ID Spalte auch gefüllt ist!!
If Trim(CStr(TB1.Text)) = "" Then
'Meldung ausgeben
MsgBox "Sie müssen ein Aktenzeichen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
'Abbrechen des Speicherroutine
Exit Sub
End If
'Ausbauoption: Prüfen ob die ID in Tabelle1 Spalte 1 schon vorhanden ist!
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriftrn
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Cells(lZeile, 1).Value))  ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If TB1.Text = Trim(CStr(Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, TextBoxen in die Zellen schreiben
Cells(lZeile, 1).Value = Trim(CStr(TB1.Text))
Cells(lZeile, 2).Value = TB2.Text
Cells(lZeile, 3).Value = TB3.Text
Cells(lZeile, 4).Value = TB4.Text
Cells(lZeile, 5).Value = TB5.Text
Cells(lZeile, 6).Value = TB6.Text
Cells(lZeile, 7).Value = TB7.Text
Cells(lZeile, 8).Value = TB8.Text
Cells(lZeile, 9).Value = TB9.Text
Cells(lZeile, 10).Value = TB10.Text
Cells(lZeile, 11).Value = TB11.Text
Cells(lZeile, 12).Value = TB12.Text
Cells(lZeile, 13).Value = TB13.Text
Cells(lZeile, 14).Value = TB14.Text
Cells(lZeile, 15).Value = TB15.Text
Cells(lZeile, 16).Value = TB16.Text
Cells(lZeile, 17).Value = TB17.Text
Cells(lZeile, 18).Value = TB18.Text
Cells(lZeile, 19).Value = TB19.Text
Cells(lZeile, 20).Value = TB20.Text
Cells(lZeile, 21).Value = TB21.Text
Cells(lZeile, 22).Value = TB22.Text
Cells(lZeile, 23).Value = TB23.Text
Cells(lZeile, 24).Value = TB24.Text
Cells(lZeile, 25).Value = TB25.Text
Cells(lZeile, 26).Value = TB26.Text
Cells(lZeile, 27).Value = TB27.Text
Cells(lZeile, 28).Value = TB28.Text
Cells(lZeile, 32).Value = TB32.Text
Cells(lZeile, 33).Value = TB33.Text
Cells(lZeile, 34).Value = TB34.Text
Cells(lZeile, 35).Value = TB35.Text
Cells(lZeile, 36).Value = TB36.Text
Cells(lZeile, 37).Value = TB37.Text
Cells(lZeile, 38).Value = TB38.Text
Cells(lZeile, 39).Value = TB39.Text
Cells(lZeile, 43).Value = TB43.Text
Cells(lZeile, 44).Value = TB44.Text
Cells(lZeile, 45).Value = TB45.Text
Cells(lZeile, 46).Value = TB46.Text
Cells(lZeile, 47).Value = TB47.Text
Cells(lZeile, 48).Value = TB48.Text
Cells(lZeile, 49).Value = TB49.Text
Cells(lZeile, 50).Value = TB50.Text
Cells(lZeile, 54).Value = TB54.Text
Cells(lZeile, 55).Value = TB55.Text
Cells(lZeile, 56).Value = TB56.Text
Cells(lZeile, 57).Value = TB57.Text
Cells(lZeile, 58).Value = TB58.Text
Cells(lZeile, 59).Value = TB59.Text
Cells(lZeile, 60).Value = TB60.Text
Cells(lZeile, 61).Value = TB61.Text
Cells(lZeile, 65).Value = TB65.Text
Cells(lZeile, 66).Value = TB66.Text
Cells(lZeile, 67).Value = TB67.Text
Cells(lZeile, 68).Value = TB68.Text
Cells(lZeile, 69).Value = TB69.Text
Cells(lZeile, 70).Value = TB70.Text
Cells(lZeile, 71).Value = TB71.Text
Cells(lZeile, 72).Value = TB72.Text
Cells(lZeile, 76).Value = TB76.Text
Cells(lZeile, 77).Value = TB77.Text
Cells(lZeile, 78).Value = TB78.Text
Cells(lZeile, 79).Value = TB79.Text
Cells(lZeile, 80).Value = TB80.Text
Cells(lZeile, 81).Value = TB81.Text
Cells(lZeile, 82).Value = TB82.Text
Cells(lZeile, 83).Value = TB83.Text
Cells(lZeile, 87).Value = TB87.Text
Cells(lZeile, 88).Value = TB88.Text
Cells(lZeile, 89).Value = TB89.Text
Cells(lZeile, 90).Value = TB90.Text
Cells(lZeile, 91).Value = TB91.Text
Cells(lZeile, 92).Value = TB92.Text
Cells(lZeile, 93).Value = TB93.Text
Cells(lZeile, 94).Value = TB94.Text
Cells(lZeile, 98).Value = TB98.Text
Cells(lZeile, 99).Value = TB99.Text
'Die ListBox muss nun neu geladen werden
'allerdings nur wenn sich der Name (ID) geändert hat
' If ListBox1.Text  Trim(CStr(TextBox1.Text)) Then
'     Call UserForm_Initialize
'     If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
' End If
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
warum schon wieder? lies die Antwort im 1,BT
23.07.2016 19:52:31
robert
Doppelt
23.07.2016 19:53:08
Hajo_Zi
Antworte im ersten Beitrag, wenn Du Antworten ignorierest machst Du Dir hier keine Freunde.

AW: Doppelt
23.07.2016 19:56:38
Gerwin
Verzeihung, bitte löschen. Hab eben meinen Laptop aufgeklappt, dachte ich wäre in der richtigen Ansicht aber hab beim Aktualisiern wohl die Daten nochmal gesendet, sorry :(
Anzeige

339 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige