Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Gültigkeit für 2 Spalten
26.03.2008 17:00:00
Matthias.G.
Hallo Excelgemeinde,
aller VBA anfang ist schwer, leider hat meine Suche nicht ganz geholfen.
Habe über eine Userform eine Eingabe in eine Tabelle gemacht z.B.:
Spalte A ; Spalte B ;...............
Name ; Vorname ;...............
frage: wie mueste den die VBA-codierung lauten, wenn ich KEINE doppelten
NAME haben will solange der Vorname auch NICHT doppelt ist.
Danke im vorraus,
Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: Gültigkeit für 2 Spalten
26.03.2008 18:23:00
Ramses
Hallo
In aller Bescheidenheit:
Eine Schleife in der du die Einträge in deiner Datenbank prüfst :-)
Dim i as Long
For i = 1 to Cells(Rows.Count,1).end(xlup).row
if Cells(i,1) & cells(i,2) = Me.TextboxName & Me.TextboxVorname then
Msgbox "Der Name existiert schon", vbinformation+vbokonly, "Fehler"
Exit Sub
End If
Next i
.,.. Der Rest deines Codes zum Eintragen in die Datenbank
Gruss Rainer

AW: Gültigkeit für 2 Spalten
26.03.2008 18:36:04
Matthias.G.
Hi Ramses,
danke für deine Mühe, leider bringt mir der Code ständig die Meldung das der Name existiert.
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) & Cells(i, 2) = Me.TextBox1 & Me.TextBox2 Then
MsgBox "Der Name existiert schon", vbInformation + vbOKOnly, "Fehler"
Exit Sub
End If
Next i
auch wenn vorher noch keine Werte in der Tabelle stehn.
Am liebsten wäre es mir er würde dann die "Eingabe " in die Tabelle verhindern ;-)
Gruß Matthias

Anzeige
AW: Gültigkeit für 2 Spalten
26.03.2008 18:42:43
Ramses
Hallo
"...ständig die Meldung das der Name existiert..."
Dann hat das seine Richtigkeit und der Name, bzw. die Einträge in der Textbox, existieren schon
"...Am liebsten wäre es mir er würde dann die "Eingabe " in die Tabelle verhindern ;-)..."
Genau das macht der Code.
Ich kann nicht auf deinen Rechner sehen und weiss nicht wie deine Tabelle aufgebaut ist.
Also anpassen auf deine Bedürfnisse musst du den Code schon selber
Gruss Rainer

AW: Gültigkeit für 2 Spalten
26.03.2008 19:11:07
Matthias.G.
Hallo Ramses,
meine VBA kenntnisse sind dürftig,
habe mal den kompletten code der in userform2 steht kopiert:
Option Explicit

Private Sub Daten_übernehmen_Click()
On Error Resume Next
Dim letzte_Zeile As Long
With Worksheets("Mitarbeiter")
letzte_Zeile = Range("A65536").End(xlUp).Offset(1, 0).Row
.Unprotect
.Cells(letzte_Zeile, 1) = TextBox1
.Cells(letzte_Zeile, 2) = TextBox2
.Cells(letzte_Zeile, 3) = TextBox3
.Cells(letzte_Zeile, 4) = TextBox4
.Cells(letzte_Zeile, 5) = TextBox5
.Cells(letzte_Zeile, 6) = TextBox6
.Cells(letzte_Zeile, 7) = TextBox7
.Cells(letzte_Zeile, 8) = TextBox8
.Cells(letzte_Zeile, 9) = TextBox9
.Cells(letzte_Zeile, 10) = TextBox10
.Cells(letzte_Zeile, 11) = TextBox11
.Cells(letzte_Zeile, 12) = TextBox12
.Protect
End With
With Worksheets("Sicherung")
letzte_Zeile = .Range("A65536").End(xlUp).Offset(1, 0).Row
.Cells(letzte_Zeile, 1) = TextBox1
.Cells(letzte_Zeile, 2) = TextBox2
.Cells(letzte_Zeile, 3) = TextBox3
.Cells(letzte_Zeile, 4) = TextBox4
.Cells(letzte_Zeile, 5) = TextBox5
.Cells(letzte_Zeile, 6) = TextBox6
.Cells(letzte_Zeile, 7) = TextBox7
.Cells(letzte_Zeile, 8) = TextBox8
.Cells(letzte_Zeile, 9) = TextBox9
.Cells(letzte_Zeile, 10) = TextBox10
.Cells(letzte_Zeile, 11) = TextBox11
.Cells(letzte_Zeile, 12) = TextBox12
End With
' texboxen loeschen
Dim Tb As Integer
On Error Resume Next
For Tb = 1 To 13
Me.Controls("TextBox" & Tb) = ""
Next Tb
' doppelte prüfen
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) & Cells(i, 2) = Me.TextBox1 & Me.TextBox2 Then
MsgBox "Der Name existiert schon", vbInformation + vbOKOnly, "Fehler"
Exit Sub
End If
Next i
End Sub



Private Sub Eingabe_beenden_Click()
Unload UserForm2
MsgBox "Sicherung wird geschützt!"
End Sub



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte Eingabemaske mit den Schaltflächen verlassen.", _
vbOKOnly + vbInformation, "Bitte Schaltfläche betätigen."
End If
End Sub


Wenn ich die Eingabe mache kommt halt sofort die Meldung das doppelter Wert da ist obwohl Tabelle LEER ist.
Möchte die Datei nicht ins Forum stellen. Den Lösungsweg schon.
Kann ich Dich persönlich erreichen ?
Gruss
Matthias

Anzeige
AW: Gültigkeit für 2 Spalten
26.03.2008 20:24:57
Ramses
Hallo
"... meine VBA Kenntnisse sind dürftig..."
Das ist keine Entschuldigung für fehlenden Gehirneinsatz :-)
Du trägst ZUERST alles ein, LéSCHST dann alle Textboxen und zum SCHLUSS prüfst du auf doppeltes Vorkommen ... !!! ?
Sorry, ... aber da ist wohl keine weitere Erklärung mehr nötig.
Gruss Rainer

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige