Herbers Excel-Forum - das Archiv

dateneingabe über userform

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: dateneingabe über userform
von: kirsche

Geschrieben am: 18.12.2006 21:24:00
hallo leute,
wieder mal brauche ich eure hilfe.
ich möchte in einer tabelle daten eintragen. eine zeile = ein datensatz, am anfang steht die artikelnummer, welche auch der ID-schlüssel ist. die dateneingabe möchte ich über eine userform tätigen und da ist auch schon mein problem: bei eingabe einer artikelnummer soll der ganze datensatz angezeigt werden. wenn es die art.nr. noch nicht gibt soll der datensatz in die erste freie zeile übertragen werden. ich habe zwar schon ein wenig mit der userform experimentiert aber nur mit recorder und dann alles zusammengeflickt.
vielleicht kann mir ja jemand helfen, ich bin übrigens begeisterter fan dieser seite und habe schon ne menge dazu gelernt, leider hat meine recherche für dieses problem nichts gebracht.

Die Datei https://www.herber.de/bbs/user/39094.xls wurde aus Datenschutzgründen gelöscht

gruss
kirsche
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 18.12.2006 21:49:44
Hallo Kirsche,
wo ist denn dein UserForm(ular), wo sind deine Gehversuche?
Du kannst doch nicht im Ernst erwarten, dass dir jemand ein Eingabe UserForm mit über 30 Feldern baut, mit den erforderlichen Prüfungen, der Abfrage ob Artikel schon vorhanden, drei ComboBoxes usw. usw.
Kannst du den Aufwand dafür abschätzen, und die Zeit dann vergüten?
Ich meine, da muss schon einiges an Vorarbeit von dir kommen.
Viele Grüße Peter
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 18.12.2006 22:33:08
hallo peter,
sorry, ich weiß unwissenheit schütz vor prügel nicht. hatte nicht den plan, wie so etwas überhaupt aussehen muß. bin nun fleißig am bauen und werkeln. die userform mit den feldern kann ich erstellen, aber wie die programmierung dazu aussehen soll ist mir ein echtes rätsel. ich habe auch eine userform im forum gefunden, aber die ist so umfangreich, die bekomme ich nicht auseinander genommen. das sind böhmische wälder.
hier könntest du dir diese mal ansehen: https://www.herber.de/bbs/user/34918.zip
alles davon brauche ich nicht, aber die ist echt klasse und ich würd sie gerne verstehen.
ich werde meine datei mit userform dann später hochladen. kann ich dich auch anders kontaktieren? bist du der peter von online-excel?
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel
Geschrieben am: 18.12.2006 22:52:31
Hallo Dörte,
hier ein kleiner Anfang ...
https://www.herber.de/bbs/user/39096.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 18.12.2006 23:39:38
hallo peter,
die userform ist soweit fertig. ich habe auch schon die ersten zwei code eingfügt, das klappt prima, das mit dem anpassen werde ich nun in angriff nehmen.
nun bleibt immer noch die frage, wie bekomme ich die daten übertragen und es dürfen keine artikelnummern doppelt vergeben werden.
ich weiß, das da sehr viel arbeit drin steckt, habe mich heute schon an einigen userformen versucht und der tag war wie im flug vorbei. für deine hilfe bin ich dir auch super dankbar, damit hast du heute schon mal einen menschen glücklich gemacht.
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 19.12.2006 10:27:22
Hallo Dörte,
ich habe die Muster-Mappe ein wenig ausgearbeitet, du musst vervollständigen.
Es sind Prüfungen für die ersten TextBoxes enthalten, ob die zutreffen musst du beurteilen.
Ändern ist nur möglich, wenn vorher gesucht worden ist - sonst ist der Button nicht anklickbar.
https://www.herber.de/bbs/user/39102.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel
Geschrieben am: 19.12.2006 17:55:16
Hallo Dörte,
noch ein paar kleine Ergänzungen:
https://www.herber.de/bbs/user/39114.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 19.12.2006 20:48:14
hallo peter,
erst mal recht herzlichen dank für deine hilfe. finde ich echt super, dass frischlinge wie ich hier die volle unterstützung bekommen.
sorry, dass ich mich jetzt erst melde. in der firma habe ich leider nur email und keinen internet-anschluss aber das wird sich vielleicht bald ändern.
ich habe mir deine dateien angesehen, soweit läuft auch alles und das mit dem vervollständigen bekomme ich wohl auch hin.
einen haken hat das ganze noch, ich habe die art.nr. 100 angelegt und er zeigt mir über suchen auch den datensatz an, wenn ich nun nach art.nr. 1 suche bekomme ich den von 100 angezeigt. bei 2 und 200 sowie bei 3 und 300 klappt die anzeige problemlos.
wenn 1,2,3,100,200,300 als art.nr. vergeben wurden kann ich 10,20,30 nicht mehr vergeben, da bekomme ich die meldung, dass es die art.nr. schon gibt, aber die sind nicht vorhanden.
https://www.herber.de/bbs/user/39119.xls
ich würde mich echt freuen, wenn du mir da weiter helfen könntest.
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 19.12.2006 21:17:04
hallo peter,
nun habe ich versucht, die userform in meine datei einzufügen, leider werde ich angemeckert, wenn ich einen artikel suchen möchte. und zwar wo die zeilennummer auf 0 gesetzt werden soll.
' suchen/anzeigen
'
Private Sub CommandButton2_Click()
Dim WkSh As Worksheet
Dim Zelle As Range
Dim iIndex As Integer
Set WkSh = Worksheets("Fleisch über fFZ")
Zeilen_Nr = 0 ' die Zeilen-Nummer auf Null setzen
kann ich mir nicht erklären, schutz ist raus, filter ist aus. oder liegt es daran, weil Zeilen_Nr nicht als variable defeniert ist?
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 19.12.2006 21:43:53
Hallo Dörte,
dann versuch einmal die beigefügte, noch weiter vervollständigte Version.
Du solltest damit z. B. ALLE gelb markierten Felder erfassen und anzeigen können.
Ändern prüft noch nicht alle TextBoxes.
Die Variable Zeilen_Nr ist im Modul1 als Public Variable erfasst, und gilt damit verfügbar für alle Module des Projects.
https://www.herber.de/bbs/user/39120.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 19.12.2006 22:09:50
Hallo Dörte,
jetzt werden auch die drei Werte mit Dezimalstellen richtig ausgegeben
https://www.herber.de/bbs/user/39121.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 19.12.2006 22:26:39
hallo peter,
ich weiß gar nicht, wie ich dir danken soll. das klappt soweit alles wunderbar.
nun ist mir leider ein fehler in meiner ausdrucksweise passiert. die lieferanten, warengruppen und oberwarengruppen sollten sich eigentlich auf die nr. der spalte davor beziehen. da einige lieferanten und auch gruppen noch nicht vorhanden sind möchte ich diese comboboxen doch in textbox umwandeln. da der anwender den rest eh schreiben muß und auch wirklich nur ein anwender ist. der kennt sich mit excel überhaupt nicht aus und ich bin auch nicht vor ort um helfen zu können. deshalb soll die datei idiotensicher gemacht werden. er kann am ende nur noch über die userform irgendwas machen, alles andere habe ich schon soweit ausgeblendet und weggesperrt.
nochmals danke
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 19.12.2006 23:49:53
hallo peter,
habe es geschafft, die comobboxen sind raus und dafür textboxen rein. die userform habe ich noch etwas vergrößert, samt boxen. auch das habe ich rausgefunden wie es geht, freu.
nun hab ich doch noch eine frage, wenn über die userform eine änderung vorgenommen wird, soll eine email bei mir über die änderungen auflaufen. das ich aus excel automatisch eine mail verschicken kann ist mir bekannt, nur wie stelle ich eine berichterzeugung aus dieser userform her? ich weiß, ich bin nicht kleinlich mit meinen fragen, aber das wäre schon schick,wenn das machbar wäre und ich weiter auf deine unterstützung hoffen darf.
besten dank
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 20.12.2006 14:32:06
Hallo Dörte,
ersteinmal Glückwunsch zu deiner Eigeninitiative, die Änderungen, die du haben wolltest selbst eingefügt zu haben.
Nun zu deiner Frage: Im Ereignis
'
' ändern
'
Private Sub CommandButton3_Click()
werden die Änderungen durchgeführt. Ob der Anwender nun tatsächlich etwas ändert, kann man natürlich nur relativ aufwändig feststellen.
Aber immer wenn der Button angeklickt wird könnte eine Änderung vorliegen.
Da kannst du einen Call MailVersenden auf ein entsprechendes Makro einfügen, das dir deine Informationen liefert.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 20.12.2006 18:51:43
Hallo Dörte,
nachdem ich über dein Mail-Problem ein wenig nachgedacht habe, gibt es dazu noch folgende Anmerkung(en).
Was ich in der ersten Antwort geschrieben habe gilt natürlich auch für das Erfassen Click-Makro.
Wenn du aber nur EINE Mail, am Ende der Arbeit (beim Schließen der Mappe) haben möchtest, wenn etwas hinzugefügt und/oder geändert wurde, dann:
Eine weitere Public Variable (wie Zeilen_Nr im Modul1) einfügen, z. B.
Public Mail_Senden As Boolean
Jedesmal, wenn der Änderungs oder Erfassen Button angeklickt wird, bzw. beim Verlassen der dahinterstehenden Makros, nämlich dann, wenn alle Prüfungen abgelaufen sind und die Daten wirklich geschrieben wurden, die Variable Mail_Senden auf True setzen.
Im DieseArbeitsmappe im WorkBook_Open Ereignis MailSenden auf False setzen, im Workbook_Before_Close Ereignis abfragen If Mail_Senden = True Then Call das Mail Makro.
Private Sub Workbook_Open()
Mail_Senden = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Mail_Senden = True Then
Call Mail_Makro
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 20.12.2006 21:26:51
hallo peter,
ich hab die userform heute noch etwas mehr angepasst, so das sie in einer anderen tabelle nur die suchfunktion erfüllt, das hat auch easy funktioniert.
allerdings brauchte ich diese form für sechs tabellen, nun habe ich versucht der userform weitere variablen zuzufügen, das hat leider nicht geklappt. kann ich denn mit der einen userform mehrere tabellen ansprechen? ich habe versucht bei set = worksheets ("tabelle1") eine weitere mit einzufügen, hatte aber mit der datenanzeige keinen erfolg. war ich da auf dem holzweg?
Private Sub UserForm_Activate()
Dim WkSh As Worksheet
Dim iIndex As Integer
Dim iHeight As Integer
Dim iLeft As Integer
Dim iTop As Integer
Dim iWidth As Integer
Dim sLblTxt As String
Dim lZeile As Long
Set WkSh = Worksheets("Tabelle1")
Set WkSh = Worksheets("Tabelle2") meine einfügung oder muß ich das anders anstellen?
nun zu meinem mailproblem, das mit workbook_beforeclose bekomme ich hin, das habe ich jetzt auch schon mehrfach verwendet. nur hab ich keine peilung wie ich die daten in ein separates blatt bekommen soll. :-( das wäre aber super wichtig. könntest du mir da auf die sprünge helfen? mit vba bin ich dann doch noch nicht soweit.
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 20.12.2006 21:51:34
Hallo Dörte,
im Augenblick verstehe ich nur Bahnhof.
Was willst du in 6 Tabellenblättern genau machen?
Was (welche Daten) willst du in ein separates Tabellenblatt bringen?
Vielleicht hilft dir unter Extras - Änderungen verfolgen?
Viele Grüße Peter
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 20.12.2006 22:03:16
hallo peter,
naja, ich habe mir die userform ja umgebaut als suchanzeige für artikel. tabelle1 ist für die datenpflege. dort werden sämtliche daten eingepflegt, geändert und auch gesucht.
nun hat diese datei aber mehr als nur eine tabelle, welche aber die daten aus den stammdaten übertragen bekommen, allerdings in abgespeckter form. die stammdaten enthalten ca. 2000 artikel verschiedener abteilungen, jede abteilung für sich soll sich in ihrer tabelle(wo sie nur über ein passwort hinkommen) die daten in verschiedenen listen anzeigen lassen. anzeige erfolgt nach warengruppen, lieferanten, oberwarengruppen ect.
da die userform immer die gleiche ist, nur die daten in der jeweiligen tabelle nicht hatte ich dieses problem. ich hab mir dann so geholfen, indem ich die userform kopiert habe und immer die tabellenzuweisung geändert habe,nur sehe ich bald in den userformen nicht mehr durch, da es immer mehr werden.
das mit den änderungen verfolgen habe ich mir auch schon überlegt, hab mich damit aber noch nicht auseinander gesetzt.
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 20.12.2006 22:22:09
Hallo Dörte,
würde es nicht genügen Set WkSh = Worksheets(ActiveSheet.Name) zu schreiben, wenn denn jede Abteilung ihr eigenes zugewiesenes Blatt hat?
Wenn du nur die Zugänge und Änderungen sehen möchtest, kannst du die ja jeweils in ein eigenes (zusätzliches) Blatt als Duplikat schreiben lassen (es ist ja immer eine komplette Zeile), das du beim Schließen der Mappe als Mail ausgibst.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 20.12.2006 22:38:40
hallo peter,
ich fresse hier gleich nen besen und fall vom glauben ab. das mit activate habe ich mir schon gedacht und auch ausprobiert, hatte es aber völlig falsch geschrieben.
ich bin mit set wksh = activatesheets(tabelle) angefangen,nun wo ich das sehe, erkenne ich auch meinen fehler und es fällt mir wie schuppen von den augen.naja, wieder was dazu gelernt, freu. dann kann ich die anderen userformen ja dementsprechen dezimieren, freu,wieder ein wenig speicherplatz gewonnen.
das mit den zugängen und änderungen würde ich schon gerne so machen, das es als duplikat in eine eigenes blatt geschrieben wird. wo muß ich das denn im code hinschreiben und vor allem wie???
und ich muß meinem chef doch tatsächlich recht geben. er hat mir vorrausgesagt, dass diese datei alle bisherigen anforderungen an mich übertreffen wird. aber ich bin auf dem besten weg, diese zu erfüllen. mit dem bisherigen ergebnis ist er schon total zufrieden, hatte nicht eine beanstandung außer in der wortwahl. na und das will bei ihm schon was heißen. freu mich total und möchte mich an dieser stelle auch für deine hilfe bedanken.
gruss dörte
Bild

Betrifft: AW: dateneingabe über userform
von: Peter Feustel

Geschrieben am: 21.12.2006 15:14:39
Hallo Dörte,
dann wollen wir also deinen Chef überzeugen, dass die nächste Gehaltserhöhung fällig ist!
Ich habe meine Test-Mappe (noch mit drei ComboBoxes) ein wenig 'aufgemotzt'.
Ich habe die Tabellenblätter umbenannt
in BasisTab - da sollten alle Artikel enthalten sein
in ComboTab - da sind die Tabellen zum Füllen der ComboBoxes enthalten
in ArbeitsTab 1 - das ist die Tabelle des ersten Sachbearbeiters, in der er arbeiten darf
im MailTab - da werden die Zugänge und Änderungen als Duplikat gespeichert.
Nun kannst du ein wenig testen, ob das deinen Vorstellungen entspricht.
Im Ereignis Private Sub Workbook_Open() werden die Worksheets benannt
hier habe ich auch eine Abfrage auf den Benutzer integriert, das bei dir sicher ganz anders aussehen wird.
Im Modul1 sind die Worksheets als Public Variable definiert, nebst einer Mail Zeilen-Nummer
Nach dem Schreiben/Ändern der Daten durch das UserForm(ular) wird die MailTab fortgeschrieben.
Es gibt auch ein Test-Makro zum Senden der MailTab als Mail, das aber sicherlich die Daten des Tabellenblattes als Anhang und nicht im Mail-Body schicken sollte.
In dem Makro werden aber nach dem Senden die MailTab Daten gelöscht, was ja irgendwann geschehen sollte.
https://www.herber.de/bbs/user/39145.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: dateneingabe über userform
von: kirsche

Geschrieben am: 21.12.2006 21:43:34
Hallo Peter,
das sieht doch schon mal richtig schick aus. Da lacht mein herz und mein chef wird echt augen machen.
Nun wird ich mich mal ans anpassen machen, vielleicht bekomme ich es ja auch alleine hin, das er die formate und kopfzeile mitnimmt.
Da hab ich gleich noch ne frage, wenn der änderungsbutton betätigt wird, können da die änderungen fett hervor gehoben werden? Und eine vorhandene artikelnummer dürfte nicht veränderbar sein. Bei meinem beispiel konnte ich die 1 in 111 umwandeln, die 1 ist aber der ID-Schlüssel, der sollte nicht änderbar sein außer vielleicht die ganze zeile löschen.
Hab recht herzlichen dank für deine hilfe
Viele grüße dörte
 Bild
Excel-Beispiele zum Thema "dateneingabe über userform"
Diagramm in Userform XL-Dateien in UserForm listen
UserForm an Excel-Fenster anpassen Fundstellen in UserForm listen
Module und UserForms austauschen In einer Schleife auf Elemente einer UserForm zugreifen
Werte in eine ComboBox einer UserForm übernehmen Zellinhalt als Label-Aufschrift in UserForm
Alle CheckBoxes einer UserForm ansprechen Wenn kein Eintrag, UserForm nicht schließen