Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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
zwei Suchkriterien über TXT-Box erfüllen
Thomas
Ein herzliches "HALLO" in die Gemeinde der Excel und VBA Experten
Ich habe eine Datenbank erstellt, die diverse Daten von über 500 Seminarteilnehmern enthält.
Über eine Userform kann ich neue Teilnehmer hinzufügen und über eine weitere Userform kann ich vorhandene Datensätze editieren.
Zum Editieren eines vorhandenen Datensatzes muss dieser aber zunächst ersteinmal gefunden werden.
Dazu habe ich eine weitere Userform mit zwei Txt-Boxen erstellt. In die eine wird der Nachname, in die andere der Vorname eingegeben. Über den OK-Button wird dann eine Suche ausgeführt.
So weit funktioniert dies auch.
Ich möchte aber folgende Bedingungen erfüllt haben, zu denen ich derzeit keinerlei Ideen habe und auch im forum noch nichts gefunden habe:
1) Sollte eine der beiden Txt-Boxen leer sein, erscheint eine Msg-Box "Es muss ein Nachname / Vorname"
eingetragen werden (Ist realisiert und funktioniert auch)
2) Nach Eingabe eines Nachnamens sollte die Datenbank überprüft werden, ob dieser überhaupt existiert
(es könnten ja Schreibfehler auftreten!)
Wenn Nachname nicht existent, dann MSG-Box "Bitte Schreibweise überprüfen)
Wenn Nachname existent, dann weiter zur nächsten Txt-Box "Vorname"
3) Das gleiche Prozedere sollte dann auch für die Txt-Box "Vorname" vorhanden sein, mit der Maßgabe,
daß der Vorname zu dem gewählten Nachnamen passen muss
4) Nachdem Nachname und Vorname überprüft wurden und existent sind, sollte über ein OK-Button
(der dann erst sichtbar/anklickbar wird) eine Suche ausgeführt werden können.
P.S.: Der zu suchende Nachname befindet sich in Spalte "D", der zu suchende Vorname in "C"
Ich hänge den derzeitigen Code mal an, damit Ihr Euch ein Bild machen könnt. Sollte die Datei von Nöten sein, sagt bitte Bescheid. Ich muss dann nur vor dem Hochladen die privaten daten entfernen.
Für Eure Hilfe bin ich jetzt schon dankbar
LG
Tom
'#########################################
'Eingabe Nachname erzwingen
'#########################################
Private Sub txt_nachname_eingeben_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If txt_nachname_eingeben = "" Then
txt_nachname_eingeben.SetFocus
MsgBox "ES MUSS EIN NACHNAME EINGEGEBEN WERDEN!", vbOKOnly
Cancel = True
Else
txt_vorname_eingeben.SetFocus
End If
End Sub
'#########################################
'Eingabe Vorname erzwingen
'#########################################
Private Sub txt_vorname_eingeben_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim wee As Integer
If txt_vorname_eingeben = "" Then
txt_vorname_eingeben.SetFocus
MsgBox "ES MUSS EIN VORNAME EINGEGEBEN WERDEN!", vbOKOnly
Cancel = True
Else
Dim iRow As Integer
iRow = 1
Do Until IsEmpty(Cells(iRow, 1))
If Cells(iRow, 4).Value = txt_nachname_eingeben.Value And _
Cells(iRow, 3).Value = txt_vorname_eingeben.Value Then
Rows(iRow).Select
End If
iRow = iRow + 1
Loop
End If
wee = Selection(1)
End Sub
'############################################
'Einlesen in die Datenmaske
'############################################
Private Sub OK_Click()
Dim wee As Integer
wee = Selection(1)
aa = [A:A].Find(wee, LookIn:=xlValues, LookAt:=xlWhole).Row
ausgabemaske.Registerkarten.Value = 0
ausgabemaske.Registerkarten(0).Visible = True
ausgabemaske.Registerkarten(1).Visible = False
ausgabemaske.Registerkarten(2).Visible = False
ausgabemaske.txt_lfd_nr = Cells(aa, 1)
ausgabemaske.cbo_dgrad = Cells(aa, 2)
ausgabemaske.txt_vname = Cells(aa, 3)
ausgabemaske.txt_nname = Cells(aa, 4)
ausgabemaske.txt_nname_geaendert = Cells(aa, 5)
ausgabemaske.txt_geb_dat = Cells(aa, 6)
ausgabemaske.cbo_fam_stand = Cells(aa, 7)
ausgabemaske.txt_plz = Cells(aa, 8)
ausgabemaske.txt_wohnort = Cells(aa, 9)
ausgabemaske.txt_strasse = Cells(aa, 10)
ausgabemaske.txt_fon_privat = Cells(aa, 11)
ausgabemaske.txt_mobil_privat = Cells(aa, 12)
ausgabemaske.txt_mail_privat = Cells(aa, 13)
'################################# einlesen Daten Notfall
ausgabemaske.txt_vname_not = Cells(aa, 14)
ausgabemaske.txt_nname_not = Cells(aa, 15)
ausgabemaske.txt_plz_not = Cells(aa, 16)
ausgabemaske.txt_wohnort_not = Cells(aa, 17)
ausgabemaske.txt_strasse_not = Cells(aa, 18)
ausgabemaske.txt_fon_not = Cells(aa, 19)
ausgabemaske.txt_mobil_not = Cells(aa, 20)
ausgabemaske.txt_mail_not = Cells(aa, 21)
ausgabemaske.txt_status_not = Cells(aa, 22)
'################################# einlesen Daten Dienst
ausgabemaske.cbo_behoerde = Cells(aa, 23)
ausgabemaske.txt_dienststelle = Cells(aa, 24)
ausgabemaske.txt_funktion = Cells(aa, 25)
ausgabemaske.txt_spez_fachrichtung = Cells(aa, 26)
ausgabemaske.txt_fon_dienstl = Cells(aa, 27)
ausgabemaske.txt_mobil_dienstl = Cells(aa, 28)
ausgabemaske.txt_mail_dienstl = Cells(aa, 29)
ausgabemaske.cbo_sicherheit_geprueft = Cells(aa, 30)
ausgabemaske.txt_dat_eintritt = Cells(aa, 31)
ausgabemaske.txt_1_fachpruefung = Cells(aa, 32)
ausgabemaske.txt_2_fachpruefung = Cells(aa, 33)
ausgabemaske.txt_3_fachpruefung = Cells(aa, 34)
ausgabemaske.cbo_beurteilung = Cells(aa, 35)
ausgabemaske.txt_fs_klassen = Cells(aa, 36)
ausgabemaske.txt_kontaktperson = Cells(aa, 37)
ausgabemaske.txt_fon_kontaktperson = Cells(aa, 38)
ausgabemaske.txt_mobil_kontaktperson = Cells(aa, 39)
'################################# einlesen Daten Mission
ausgabemaske.txt_eom = Cells(aa, 40)
ausgabemaske.cbo_mission_status = Cells(aa, 41)
ausgabemaske.cbo_interesse = Cells(aa, 42)
ausgabemaske.cbo_schriftl_bewerbung = Cells(aa, 43)
ausgabemaske.txt_eingang_bewerbung = Cells(aa, 44)
ausgabemaske.cbo_zust_dv = Cells(aa, 45)
ausgabemaske.txt_ac = Cells(aa, 46)
ausgabemaske.txt_english_nr = Cells(aa, 47)
ausgabemaske.txt_english_von = Cells(aa, 48)
ausgabemaske.txt_english_bis = Cells(aa, 49)
ausgabemaske.txt_emex = Cells(aa, 50)
ausgabemaske.txt_emex_bemerkung = Cells(aa, 51)
ausgabemaske.txt_basis_nr = Cells(aa, 52)
ausgabemaske.txt_basis_von = Cells(aa, 53)
ausgabemaske.txt_basis_bis = Cells(aa, 54)
ausgabemaske.cbo_Basis_ort = Cells(aa, 55)
ausgabemaske.txt_vbs_nr = Cells(aa, 56)
ausgabemaske.txt_vbs_von = Cells(aa, 57)
ausgabemaske.txt_vbs_bis = Cells(aa, 58)
ausgabemaske.cbo_vbs_ort = Cells(aa, 59)
ausgabemaske.txt_nbs_nr = Cells(aa, 60)
ausgabemaske.txt_nbs_von = Cells(aa, 61)
ausgabemaske.txt_nbs_bis = Cells(aa, 61)
ausgabemaske.cbo_nbs_ort = Cells(aa, 63)
ausgabemaske.txt_sonst_bemerkungen = Cells(aa, 64)
ausgabemaske.txt_sachbearbeiter = Cells(aa, 65)
ausgabemaske.txt_stand_letzte_bearbeitung.Value = Now
ausgabemaske.txt_ausreise = Cells(aa, 67)
ausgabemaske.txt_rueckreisetermin = Cells(aa, 68)
ausgabemaske.cbo_akt_missionsgebiet = Cells(aa, 69)
ausgabemaske.txt_mission1 = Cells(aa, 71)
ausgabemaske.txt_mission2 = Cells(aa, 72)
ausgabemaske.txt_mission3 = Cells(aa, 73)
ausgabemaske.txt_mission4 = Cells(aa, 74)
ausgabemaske.txt_mission5 = Cells(aa, 75)
ausgabemaske.txt_mission6 = Cells(aa, 76)
ausgabemaske.txt_mission7 = Cells(aa, 77)
ausgabemaske.txt_mission8 = Cells(aa, 78)
ausgabemaske.txt_mission9 = Cells(aa, 79)
ausgabemaske.txt_mission10 = Cells(aa, 80)
ausgabemaske.Show
Unload Me
End Sub

AW: zwei Suchkriterien über TXT-Box erfüllen
20.02.2010 17:38:43
Reinhard
Hallo Thomas,
warum nimmst du für die Suche unter den 500 vorhandenen Daten nicht eine ComboBox?
Dann kann man nur auswählen wenn es den Typen schon gibt.
Für Neueingaben halt ne andere UF.
Dort muß man dann abprüfen ob Nachname und Vorname ausgefüllt sind und es noch keinen solchen Datensatz gibt.
Eine abgespeckte mappe wäre gut, 80 ausgefüllte Spalten sind sicher nicht nötig. Und die Namen usw.
Schreib in z.B. A1:
Name1
Markiee A1, mit der Maus di rechte untere Ecke nach unten ziehen,
Für Vorname1, Ort1 usw. genauso.
So hast du fix anonyme Daten.
Gruß
Reinhard
Anzeige
AW: zwei Suchkriterien über TXT-Box erfüllen
20.02.2010 21:48:00
Thomas
Hallo Gerhard
Danke für die super schnelle Antwort.
Habe über Combo-Boxen schon nachgedacht, aber die tabelle erweitert sich ständig und dementsprechend auch die Adressierung für die Combo-Boxen.
Ich müsste dann das Befüllen mit einem VBA Code erledigen (über initialize_userform)
Hab aber Deinen Vorschlag mal aufgegriffen und eine (entpersonalisierte) Testdatei angehänt.
LG und schönes wochenende an alle
Thomas
https://www.herber.de/bbs/user/68124.xls
AW: zwei Suchkriterien über TXT-Box erfüllen
21.02.2010 00:11:27
Peter
Hallo Thomas
ich sehe das Du mit UF schon recht gut umgehst.
Deshalb sende ich eine Beispieldatei, die die selektion der Namen vornimmt.
Ich denke das zuweisen der Ergebnisse schafft Du selbst.
https://www.herber.de/bbs/user/68125.xls
Gruß
Peter
Anzeige
AW: zwei Suchkriterien über TXT-Box erfüllen
21.02.2010 00:27:11
Thomas
Hallo Peter
nix für UNGUT, aber Du hast meine Datei als Beispiel angehängt
Trotzdem dank für schnelle Antwort
LG
thomas
AW: zwei Suchkriterien über TXT-Box erfüllen
21.02.2010 11:42:36
Peter
Hallo Thomas
ja das ist Deine Datei... dort ist eine UF eingefügt die
entsprechend nach dem Nachnamen selektiert.
Ich habe vergessen das Workbook Open Ereigniss anzupassen...
Bitte vesuche es nocheinmal.
https://www.herber.de/bbs/user/68128.xls
Gruß
Peter
AW: zwei Suchkriterien über TXT-Box erfüllen
21.02.2010 17:06:07
Frank
Hallo zusammen
las gerade den Thread und wollte eine Frage loswerden,
Wie kann in dem Uf nicht nur per Anfangsbuchstaben sondern auch mittels
vorgestelltem (*) + irgendeinen weiteren Eingabe (z.b. *r = Anfang für Fred oder Friedrich )
gesucht werden, und kann man die Suche auch auf mehrere Spalten ausdehnen.
wünsche noch schöne Sonnenstrahlen
Frank
Anzeige
AW: zwei Suchkriterien über TXT-Box erfüllen
22.02.2010 08:36:58
Peter
Hallo Frank
mir ist kein Code bekannt der mit Wildcards arbeitet.
Ich empfehle hierzu einen neuen Thread aufzumachen.
Gruß
Peter
AW: zwei Suchkriterien über TXT-Box erfüllen
21.02.2010 22:26:36
Thomas
Hallo Peter
Ihr hier im Forum seid ja schneller als der Wirbelwind.
Danke für die eingefügte Userform (Listbox). Den Umbau in meine Datenbank bekomme ich sicherlich hin.
Habe aber nun ein weiteres Problem.
Alle weiteren, bereits fertig programmierten Anweisungen beruhen auf einer komplett markierten Zeile (nämlich die Zeile mit den gefundenen Suchkriterien).
Wie bekomme ich es hin, daß ein angeklickter Name in der Listbox automatisch auch die dazugehörige Zeile in der Datenbank markiert?
Durch das schließen der Listbox und dem notwendigen Befehl 'ReDim' wird der ListBox-Speicher ja wieder auf Null gesetzt!
Für Deine (aber auch andere Hilfe) wäre ich äußerst dankbar.
Herzliche Grüße an Euer überaus hilfreiches Team und eine guten Start in die Woche
Thomas
Anzeige
AW: zwei Suchkriterien über TXT-Box erfüllen
22.02.2010 08:41:12
Peter
Hallo Thomas
ich löse das bei mir, indem ich das Ergebniss der Listbox an ein Autofilter gebe.
Ich habe ein Beispiel eingefügt.
https://www.herber.de/bbs/user/68151.xls
Gruß
Peter
AW: zwei Suchkriterien über TXT-Box erfüllen
22.02.2010 12:22:54
Thomas
Guten Morgen Peter
ich denke, daß ich mein Ansinnen nun über die zusätzliche Txt-Box in Deiner Userform (lfd.Nr) realisieren kann.
Ich danke Dir ersteinmal für Deine Mühen (selbst an Sonntagen zu antworten!!!!!!!!!!)
Bei der Komplexität meiner Datenbank wird aber sicherlich noch die ein oder andere Frage offen bleiben.
Ich würde dann gerne wieder Euer Spezialwissen in Anspruch nehmen.
Danke für alles
Euer Thomas
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige