Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Doppelte Werte über zwei Spalten
17.01.2018 11:01:39
Tim
Hallo zusammen,
ich habe eine Userform über die ich Vor-und Familienname aus zwei Textboxen in jeweils eine Zelle einer Art Datenbank schreibe, mit der Information welchen Arbeitsprozess der Mitarbeiter beherrscht. Heißt, das Makro schreibt jeweils einen neuen Arbeitsprozess in eine leere Zeile in der Datenbank (Name, Datum, Arbeitsprozess), dabei wiederholt sich der Namen, das funktioniert problemlos. Was mir fehlt ist eine Funktion die prüft ob zu diesem Namen (Spalte A) der Prozess (Spalte C) bereits eingetragen wurde und wenn ja eine Fehlermeldung kommt "Eintrag bereits vorhanden".
Wer hat dafür eine Lösung?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Werte über zwei Spalten
17.01.2018 11:10:14
ChrisL
Hi Tim
z.B.
If WorksheetFunction.CountIfs(Columns(1), TextBox1, Columns(3), TextBox3) > 0 Then
MsgBox "schon vorhanden..."
Exit Sub
End If
cu
Chris
AW: Doppelte Werte über zwei Spalten
17.01.2018 12:46:17
Tim
Vielen Dank für die schnelle Antwort, es klappt nur bedingt, ich bin mir aber nicht sicher ob ich den Code an der richtigen Stelle platziert habe.
ich will erreichen, dass sobald der Commandbutton gedrückt wird, im ersten Step geprüft wird ob die Einträge bereits vorhanden sind (wenn ja dann die Fehlermeldung und mache nichts) und wenn nein die Daten geschrieben werden.
Hier mein Code, sobald ich über "Play das ganze probiere geht es, wenn ich dann die Userform live nutze geht es nicht, was mache ich falsch!?
Private Sub CommandButton2_Click()
Dim Ausführen As Boolean
Dim Leerzeile As Long 'Datenblatt als Objektvariable
Ausführen = True
If Vorname.Text = "" Then Ausführen = False
If Familienname.Text = "" Then Ausführen = False
If Kuerzel.Text = "" Then Ausführen = False
If Datum.Text = "" Then Ausführen = False
If Kategorie.Text = "" Then Ausführen = False
If Prozess.Text = "" Then Ausführen = False
If WorksheetFunction.CountIfs(Columns(1), Vorname & " " & Familienname, Columns(4), Prozess) >  _
0 Then
MsgBox " Eintrag schon vorhanden, bitte prüfen"
Exit Sub
End If
If Ausführen Then
Leerzeile = 2
Do While Worksheets("Datenbank").Cells(Leerzeile, 1).Value  Empty
Leerzeile = Leerzeile + 1
Loop
Sheets("Datenbank").Cells(Leerzeile, 1) = Vorname.Value & " " & Familienname
Sheets("Datenbank").Cells(Leerzeile, 2) = Kuerzel.Value
Sheets("Datenbank").Cells(Leerzeile, 3) = Datum.Value
Sheets("Datenbank").Cells(Leerzeile, 4) = Prozess.Value
Sheets("Datenbank").Cells(Leerzeile, 5) = Label7.Caption
Sheets("Datenbank").Cells(Leerzeile, 6) = Label10.Caption
Sheets("Datenbank").Cells(Leerzeile, 7) = "anlernen"
MsgBox "Daten erfolgreich übernommen"
UserForm1.Hide
For Each objControl In Controls
Select Case TypeName(objControl)
Case "TextBox"
objControl.Text = ""
Case "ComboBox"
objControl.ListIndex = -1
Case "CheckBox"
objControl.Value = False
Case "OptionButton"
objControl.Value = False
End Select
Next
Else
MsgBox "Bitte alle Felder vollständig ausfüllen."
End If
Application.ScreenUpdating = False
Unload UserForm4
UserForm4.Show
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Doppelte Werte über zwei Spalten
17.01.2018 12:58:20
ChrisL
Hi Tim
Ich habe leider keine telepathische Fähigkeiten. Evtl. fehlt die Referenzierung...
WorksheetFunction.CountIfs(Worksheets("Datenbank").Columns(1), Vorname & " " & Familienname, Worksheets("Datenbank").Columns(4), Prozess)
cu
Chris
AW: Doppelte Werte über zwei Spalten
17.01.2018 14:33:58
Tim
Ich werd verrückt, es geht, vielen Dank!!

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige