Prüfen ob Datum schon vorhanden

Betrifft: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 12:05:45
Hallo liebe Forum Mitglieder,
bin in Sachen VBA nicht so fit und suche hier Hilfe
Ich gebe in einer Form mit 8 TextBoxen werte ein, die in Tabelle1 später übertragen werden.
In Textbox1 gebe ich ein Datum ein...alle anderen TextBoxen bekommen ganze Zahlen.
Das Übertragen der Werte klappt.
Nun möchte ich aber verhindern, das ein schon vorhandenes Datum noch einmal in der Tabelle gespeichert wird.
Es müsste also ein Prüfung in meinem Code, wo vorab geprüft wird ob in der Tabelle1 das Datum schon vorhanden ist und ich das speichern so abbrechen kann oder ein neues Datum eingeben kann?
mein Code ohne diese Funktion sieht so aus:
Private Sub CommandButton1_Click()
'Daten in Tabelle schreiben
Dim source As Variant, destination As Variant
source = Array(CDate(TextBox1.Text), CDbl(TextBox2.Text), CDbl(TextBox3.Text), CDbl( _
TextBox4.Text), CDbl(TextBox5.Text), CDbl(TextBox6.Text), CDbl(TextBox7.Text), CDbl(TextBox8. _
Text))
'IsError(Value(TextBox1.Text), -1)
Set destination = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, _
UBound(source) + 1)
destination.Value = source
MsgBox "Daten gespeichert.", vbInformation, Tag
End Sub
Ich hoffe es hat hier jemand eine Lösung für mich?
Danke vorab.
Gruß Michael

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 13:07:03
Hallo Michael,
teste mal:
Private Sub CommandButton1_Click()
'Daten in Tabelle schreiben
Dim source As Variant
If Application.CountIf(Columns(1), CDate(TextBox1.Text)) = 0 Then
source = Array(CDate(TextBox1.Text), CDbl(TextBox2.Text), CDbl(TextBox3.Text), CDbl(TextBox4.Text), _
CDbl(TextBox5.Text), CDbl(TextBox6.Text), CDbl(TextBox7.Text), CDbl(TextBox8.Text))
'IsError(Value(TextBox1.Text), -1)
Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(source) + 1) = source
MsgBox "Daten gespeichert.", vbInformation, Tag
Else
MsgBox "Datum schon vorhanden.", vbExclamation, "Hinweis"
End If
End Sub
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 13:35:59
Hallo Michael,
damit es auch klappt wenn du dich in einer anderen Tabelle befindest:
If Application.CountIf(Worksheets("Tabelle1").Columns(1), CDate(TextBox1.Text)) = 0 Then
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 13:41:05
Hallo Nepumuk
geht leider nicht :)

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 13:48:39
Hallo Michael,
ich hab das getestet, bei mir funktioniert es. Hast du meinen Nachtrag beachtet?
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 14:08:34
Hallo Nepumuk,
ja habe ich gesehen und ich haben den Code auch so angepasst.
Doch bei wird trotzdem, obwohl das Datum schon da ist, in der Tabelle in der Zeile darunter,
das selbe Datum abgelegt.
Hier noch einmal der Code:
Private Sub CommandButton1_Click()
'Daten in Tabelle schreiben
Dim source As Variant
If Application.CountIf(Worksheets("Tabelle1").Columns(1), CDate(TextBox1.Text)) = 0 Then
source = Array(CDate(TextBox1.Text), CDbl(TextBox2.Text), CDbl(TextBox3.Text), CDbl( _
TextBox4.Text), _
CDbl(TextBox5.Text), CDbl(TextBox6.Text), CDbl(TextBox7.Text), CDbl(TextBox8.Text))
'IsError(Value(TextBox1.Text), -1)
Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, UBound(source) _
+ 1) = source
MsgBox "Daten gespeichert.", vbInformation, Tag
Else
MsgBox "Datum schon vorhanden.", vbExclamation, "Hinweis"
End If
End Sub
????
Gruß
Michael

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 14:15:27
Hallo Michael,
kannst du die Mappe hochladen? Ich brauche nur die Tabelle1 mit den Daten in Spalte A plus das UserForm.
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 14:45:45
Ok....schau mal ob du die Datei öffnen kannst.
Ich weiß nicht ob ich das richtig gemacht habe?
kann man auch zusätzlich in der Form für die TextBox eins eine schnelle Eingabe für das Datum einbauen?
Also das ich für 15.08.2020 einfach nur die Zahlen ohne Punkt eingebe?
Hier der Link zur Datei:
https://www.herber.de/bbs/user/139994.xlsm
Gruß
Michael

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 14:59:28
Hallo Michael,
in deiner Spalte A steht Text und kein Datum. Um das zu bereinigen, Spalte A markieren - Register DATEN - Text in Spalten - Fertigstellen. Nochmal testen.
Ein Datum kannst du auch so eingeben: 8-8-20 CDate macht dann 08.08.2020 daraus.
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 15:39:23
Hallo Nepumuk,
Alles klar....jetzt gibt es die Meldung "Datum schon vorhanden".
das mit dem Datum?.....bei dieser Variante muss ich zu den Zahlen das minus eingeben.
ich wollte eigentlich nur zahlen eingeben :)
Es müsste doch gehen, das man die TextBox1 so einstellt, das er nur ein Datum zulässt bei der Eingabe und
wenn ich die ersten 2 Zahlen eingebe, automatisch ein Punkt gesetzt wird?..die nächsten 2 Zahlen wieder automatisch Punkt dann vierstellig für Jahr.
Wie müsste das eingebaut werden?
Ach ja......wie du ja in der Testmappe vielleicht auch gesehen hast, gibt es eine zweite Tabelle in der
in den selben Spalten Werte abgelegt werden sollen....für den Mittwoch.
Die andere Tabelle war für Samstag.
ist es möglich über die Userform zu unterscheiden, ob man in Tabelle "Samstag" oder "Mittwoch" die Daten ablegen möchte?
Gruß
Michael

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Nepumuk
Geschrieben am: 02.09.2020 16:09:18
Hallo Michael,
deine Mappe zurück.
https://www.herber.de/bbs/user/139999.xlsm
Ich habe den Code im Modul des Userforms sowie dessen Namen geändert. Die Aufrufe im Modul2 sind ebenfalls angepasst.
Gruß
Nepumuk

Betrifft: AW: Prüfen ob Datum schon vorhanden
von: Michael
Geschrieben am: 02.09.2020 16:32:38
Hallo Nepumuk,
perfekt….klappt super :)
Ich Danke dir.
Gruß
Michael
Beiträge aus dem Excel-Forum zum Thema "Prüfen ob Datum schon vorhanden "