Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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
Inhaltsverzeichnis

User Form Textbox(en) Abgleich mit Worksheet

User Form Textbox(en) Abgleich mit Worksheet
23.05.2020 22:24:02
Pete
Hallo an alle,
Alls Newbe in VBa hänge ich bei folgendem Prob
Was habe ich?
Ich habe eine User Form mit 9 Textboxen
1Textbox(Vorname)
2 TxtBox(FName)
3 Txtbx(KST)
4 TxtBx (Code)
5 TxtBx (TeleNr)
6 TxtBx(MailAdresse)
7 TxtBx (Mail CC)
8 TxtBx (Mail BCC)
9 TxtBx Ware
Im gleichen Workbook habe ich eine Sheet ("Data")
In den Spalten J, K (Vorname) Name
M bis P der Rest der Textboxen Inhalt
und in E steht die Ware
Was habe ich bisher erreicht?
Wenn ich die Txtboxen fülle dann übertrage ich die info über ein Cmd Button ins Worksheet.
Ich habe einen cmd Button Search der Folgendes bewirken soll nach Eingabe von Vorname und Name in entsprechende TxtBox
Was möchte ich?
Nun.. wenn der Kunde und bestellte Ware ggf schon existiert gebe ich die Daten bislang Txtbx für txtbx erneut ein.
Das ist nicht gerade toll auf Dauer.
Also habe ich mich daran gemacht das in einem ersten Schritt bei Eingabe in die Textbox Vorname u Name der Rest der Textboxen gefüllt werden soll.
Die Idee ist .. Ich geb Vornamen u Namen ein Eine Msgbx öffnet sich und meldet Kein Match gefunden .. Neuer Eintrag Ja / Nein oder falls Match
Peter Mayer, Peter Maier, Peter Meier mit den weiteren Daten (s obn.) gefunden. Wer soll in die Textbox übernommen werden?
In einem zweiten Schritt soll wenn möglich bei Eingabe geprüft werden ob der Kunde die Ware schon bestellt hat oder ob es eine neue bestellte Ware ist.
Was habe ich bereits getan?
Nun.. ich habe versucht den ersten Schritt zu programmieren.
Und stecke fest..und das schon am Anfang
Hier der Code
Dim Vorname As String
Dim FName As String
Dim OrgCode As String
Dim TeleNr As Byte
Dim MailArdess As Integer
Dim cNum As Integer
cNum = 9
Set Reg1 = UserForm1.Vorname
Set Reg2 = UserForm1.FName
Set Reg3 = UserForm1.KST
Set Reg4 = UserForm1.OrgaCode
Set Reg5 = UserForm1.TeleNr
Set Reg6 = UserForm1.MailAdress
'Check to see if value exists
If WorksheetFunction.CountIf(Sheets("DATA").Range("J:P"), Me.Vorname.Value) = 0 Then
MsgBox "Name nicht korrekt"
Me.Vorname.Value = ""
Exit Sub
End If
With Me
Vorname = Application.WorksheetFunction.VLookup(UserForm1.Vorname.Value(Me.Vorname), Sheets("DATA").Range("Lookup"), 11, 0)
'.Reg3 = Application.WorksheetFunction.VLookup(KST(Me.Vorname), Sheets("DATA").Range("Lookup"), 16, 0)
'.Reg4 = Application.WorksheetFunction.VLookup(OrgaCode(Me.Vorname), Sheets("DATA").Range("Lookup"), 12, 0)
'.Reg5 = Application.WorksheetFunction.VLookup(TeleNr(Me.Vorname), Sheets("DATA").Range("Lookup"), 15, 0)
'.Reg6 = Application.WorksheetFunction.VLookup(MailAdress(Me.Vorname), Sheets("DATA").Range("Lookup"), 16, 0)
End With
End Sub
Bin für jede Idee dankbar
Gruß,
Pete

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

Betreff
Datum
Anwender
Anzeige
AW: User Form Textbox(en) Abgleich mit Worksheet
24.05.2020 05:52:18
Werner
Hallo,
Zitat: Was habe ich?
Richtig, du hast, wir hier nicht. Erwartest du, dass wir versuchen deine Datei nachzubauen?
Also: Lade deine Mappe hier hoch, Daten ggf. anonymisieren.
Gruß Werner
AW: User Form Textbox(en) Abgleich mit Worksheet
26.05.2020 12:00:30
Werner
Hallo Pete,
in deiner Beispielmappe habe ich im Blatt "Data" in Spalte V noch folgende Formel eingefügt.
=J2&K2
Damit werden Vorname und Familienname verknüpft. Da du die Daten als intelligente Tabelle angelegt hast, erweitert sich ja die Formel automatisch wenn neue Eintrage angefügt werden.
Die Suche nach dem Kunden wird dann in dieser Spalte V durchgeführt.
Die kannst du ja ausblenden.
Wird der Kunde gefunden, werden die Textboxen entsprechend gefüllt.
Wird der Kunde nicht gefunden, wird nach entsprechender Abfrage ein neuer Eintrag ans Ende der Tabelle geschrieben.
Da mußt du noch mal ran und mußt deine entsprechenden Textfelder auf die jeweiligen Spalten verteilen. Ich hab das jetzt mal nur für Datum/Uhrzeit, laufende Nummer sowie Vor-/Familienname gemacht.
https://www.herber.de/bbs/user/137746.xlsm
Gruß Werner
Anzeige
Rückmeldung scheint ein Fremdwort zu sein? o.w.T.
29.05.2020 06:17:49
Werner
AW: Rückmeldung scheint ein Fremdwort zu sein? o.w.T.
30.05.2020 10:02:33
Pete
Hallo Werner,
Natürlich ist die Rückmeldung kein Fremdwort.
Mein verspätetes Feedback ist der Tasache geschuldet das es geschäftlich als auch als sog Vertrauensmann recht viel zu tun gibt. Auch und gerade wegen der derzeitigen "gesundheitlichen" Lage.
Vergessen hab ich Dich nicht.
Zur Sache selbst: Geniale Idee Hab recht herzlichen Dank für Deine Idee als auch Engagement! Ehrlich? .. Die Sache mit dem Namen u Vornamen zu verknüpfen.. hatte ich auch aber! im Gegensatz zu Dir bin ich dann hängen geblieben. Sprich ich habe keine Lösung letztlich gefunden.
Dann wurde ich auf die Möglichkeit des SVerweises aufmerksam . Easy dachte ich .. doch so "easy" wars dann doch nicht :-) (jedenfalls für mich) Danach wurde ich auf die Idee statt cells anzusprechen den vorher benamten Range (also nicht Range.("J:J") sondern man vergibt für den Range ("J:J") einen Namen wie DATA1 ) aufmerksam. Na dachte ich .. das ist ja auch ne gute Idee.. Doch bei dem ständigen "Stopp & Go!" Sprich arbeit und wenn dann etwas Luft ist weiter am Makro schreiben ...ging dann bei weiteren Fehlversuchen die Luft raus :-)
Kurz.. Dein Makro Läuft! :-) Danke nochmals! Ich hab da noch ne Frage(n) wenn ich die stellen darf.
Die eine Frage betrifft mein Verständnis.. den ersten Teil des Makros also ab set raFund hab ich verstanden .. den zweiten Teil (ab Else) hab ich weniger verstanden (kann auch sein das ich auf dem Schlauch stehe .. weil.. wenn ich schon einen neuen Eintrag eingeben muss dann fülle ich die Textbxes aus wenn das geschehen und ich dann auf Submit gehen.. dann füllt er ja die entsprechenden Zellen.
Die andere Frage ich Folgende
Ich könnte doch statt die Spalte V mit der Formel einzufügen, die Daten auf ein anderes Tabellenblatt schreiben (Name als Bspl Adressen) und von dort aus den Zugriff auf die restlichen Daten bewerkstelligen.
Also statt
Set raFund = Worksheets("DATA").Columns("V").Find(what:=.Vorname & .FName, LookIn:=xlValues, lookat:=xlWhole)
dies hier:
Set raFund = Worksheets("Adressen").Columns("A").Find(what:=.Vorname & .FName, LookIn:=xlValues, lookat:=xlWhole).. und dann der Rest des Makros
Was denkst uß
Und ist mir gestern bei der ARbeit noch etwas aufgefallen ..
In aller Regel ist immer nur eine Ware in eine Textbox zu schreiben.
In der User Form hab ich hierfür 4 Textboxen vorgesehen weil es schon vorgekommen ist das mehr als eine Ware anzugegeb waren.
Gestern hats die Sache "gesprengt" :-) Da waren es 12 Artikel. Nun hab ich ein Prob :-)
Mit einem Artikel werden alle Daten wie Name etc.. und Artikel in das Sheet "DATA" zeile für Zeile geschrieben.
Aber bei 12 Artikel werden in der Spalte E alle 12 Artikel in einer Zelle aufgelistet. Gibt es Deiner Erfahrung nach einebessere Lösung.
Mal ganz abgesehen und das ist die letzte Frage.. von der Erfassung der 12 Artikel. Denn derzeit würde die Erfassung der 12 Artikel die UF mit den 4 Textboxen "sprengen" Geht das ggf über einen "Zwischendialog" mit einer MsgBox also Bspl.. "Sind weiter Artikel vorhanden?" .. Wenn ja.. dann öffnet sich ein weiteres Dialogfeld in das man dann die Artikel schreiben kann und die dann nach einem weiteren Dialog "Weitere Artikel erfassen? vbYes; No bei Nein "Übernehmen?" bei "Ja" .. auf den Button Submit in das Sheet "Data" oder in ein anderes Sheet übertragen?
Das war jetzt viel.. Ich weiß.. Ich frage deshalb da ich die paar Tage auch dazu nutzen möchte weiter zu "Basteln" :-)
Wie auch immer! Dir recht herzlichen Dank für alles Bisherige! Bewahr Dir weiter Deine Gesundheit.. Deinenen Optimismus und!" Humor! Vor allem hab weiterhin viel Erfolg bei allemm was Du machst! Was natürlich auch für Deine Familie gilt!
Viele Grüße,
Pete
Anzeige

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige