Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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

Userform automatisch füllen bei Eingabe

Userform automatisch füllen bei Eingabe
30.04.2021 14:57:38
Klaus
Hallo liebe Profis und alle, die es so wie ich erst werden wollen.
Ich habe da ein kleines Anliegen bezüglich einer Userform. Ist es möglich, dass man z.B. Textboxen bei der Eingabe automatisch aus einer Vorlage befüllen kann? Konkret stelle ich mir das so vor, dass es eine Namensliste gibt, in der verschiedene Daten stehen, sagen wir mal Nachname, Vorname, Name (bestehend aus Nachname , Vorname), Geburtstag, Straße, PLZ und Wohnort.
- Nun soll in der Userform als erstes der Nachname eingetragen werden und bei der Eingabe soll gleich mit der Namensliste verglichen und vorgeschlagen werden.
- Wenn der Nachname bereits vorhanden ist, soll im Feld Vorname gleich der Vorname stehen
- Im dritten Feld soll beides (Nachname , Vorname) zusammen geführt werden, um damit alle folgenden Felder zu befüllen, falls die Daten bereits vorhanden sind
- Sind keine Daten in der Liste vorhanden, muss alles manuell eingetragen werden.
Kann man das über eine Userform verwirklichen oder ist zu hoch gegriffen? Muss ich das bei UserForm_Initialize abfragen?
Das es in einer Tabelle an sich funktioniert weiß ich, dafür gibt es viele schöne Funktionen wie z.B. AGGREGAT, INDEX & VERGLEICH etc.
Vielen Dank vorab schon einmal für Eure Mithilfe.
Gruß Klaus

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:13:32
Bertenhold
Hallo Klaus,
Das geht ganz klar . Ich habe das mal mit 2 Registerkarten der Userformen so aufgebaut . So kann ich in einer Registerkarte den Kunden abfragen und anwählen, in der 2ten Registerkarte öffnet sich dann quasi die Kundenkartei, die geändert, mit diversen Prozeduren belegt oder gelöscht werden kann . Ist aber sehr aufwendig und lang um in diesem Forum zu beschreiben ...
Gruß
Berthold.
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:23:57
Klaus
Hallo Berthold,
ja die Registerkarten bzw. Multipages hatte ich bereits gesehen. Hatte aber überlegt, ob es vielleicht auch über eine Seite gehen könnte. Dann werde ich mich wohl doch daran machen müssen. Da habe ich dann die nächsten Tage viel vor mir ...
Danke für die schnelle Antwort und ein schönes Wochenende.
Gruß Klaus
Anzeige
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:25:20
Klaus
Ups, Kontrollkästchen aktiviert sollte natürlich nicht sein.
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:36:32
Bertenhold
Ich denke auch, dass das über eine Seite geht. Du musst Deine Userform so gestalten, dass Dein Register in der Userform drin ist . Die Grösse kannst Du ja nach Belieben verändern . Dann hättest Du quasi eine visuelle Ansicht, die miteinander verknüpft sind und miteinander reagieren . Müsste doch machbar sein denke ich, falls Du das überhaupt damit meinst ...
Gruß
Berthold
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:45:20
Klaus
Hallo Berthold,
ich bin gerade dabei und gestalte mir eine Multipage, die ich persönlich den Registerkarten vorziehe. Durch die einzelnen Reiter kann man ja auch wunderbar hin und her springen. Ist vielleicht auch die bessere Lösung als untereinander und führt die User später besser durch den Prozess.
Gruß Klaus
Anzeige
AW: Userform automatisch füllen bei Eingabe
30.04.2021 15:58:10
Oberschlumpf
Hi Klaus,
ich bin etwas verwundert, wieso mein Vorredner so an Multipages festhält.
Du kannst die Daten, die schon mal eingegeben wurden, auch in einer Exceltabelle speichern + zur Verfügung stellen. Da würde in dem Userform(ular!) dann einfach reichen, wenn du direkt im Userform Text-, Combo-, Listboxen einbaust - ohne - dem "Umweg" über Multipage zu machen.
Oder hab ich überlesen, dass die Kontaktdaten, um die es dir geht, in einer Exceltabelle nicht gespeichert sein dürfen?
Wenn du weiter Hilfe möchtest ohne Multipage, zeig bitte per Upload eine Bsp-Datei mit ausreichend Bsp-Daten und natürlich dem Userform(ular).
Ciao
Thorsten
Anzeige
AW: Userform automatisch füllen bei Eingabe
30.04.2021 16:10:36
Klaus
Hallo Thorsten,
ich werde das Thema nächste Woche weiter verfolgen (ich brauche erst einmal das Wochenende xD). Es gibt natürlich bereits gespeicherte Daten auf einem extra Tabellenblatt mit denen verglichen werden kann. Nur wenn diese die gewünschten Daten nicht enthalten, müssen natürlich alle weiteren Daten manuell eingetragen werden.
Gruß Klaus
AW: Userform automatisch füllen bei Eingabe
05.05.2021 11:45:46
Klaus
Hallo zusammen,
also ich war die Tage schon fleißig und habe einiges selber hinbekommen. Die meisten Sorgen macht mir der Bereich bei der ComboBox2.
Ich habe 2 Tabellenblätter (Personal & Data), wobei für die User das Blatt Data ausgeblendet ist. Dort wird in der Spalte(11) "K" aus dem Vornamen (Spalte D) und dem Nachnamen (Spalte C) durch =C2 & " , " & D2 der Suchparameter berechnet. Dieser wird bei der Eingabe in der Userform ja auch durch TextBox3.Value = ComboBox1.Value & " , " & ComboBox2 ermittelt (zumindest wird er richtig angezeigt bei der Eingabe) und soll miteinander verglichen werden. Leider klappt die Überprüfung nicht und bei jeder Eingabe kommt die MsgBox mit der Meldung, dass der Mitarbeiter neu ist.
Was übersehe ich bzw. was muss ich ändern, damit die Überprüfung funktioniert und was muss ich schreiben, damit nach der Suche in "Data" auch vom Beginn der Zeile aus angefangen wird mit den Ausgaben?
  • 
    Private Sub Button_Fertig_Click()
    Unload Personal
    End Sub
    
    
    Private Sub ComboBox1_Enter()
    ComboBox1.BackColor = vbYellow
    End Sub
    
    
    Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox1.BackColor = vbWhite
    End Sub
    
    
    Private Sub ComboBox2_Enter()
    ComboBox2.BackColor = vbYellow
    End Sub
    
    
    Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox2.BackColor = vbWhite
    Dim rngZelle As Range
    'Hier soll jetzt eigentlich in dem Tabellenblatt "Data" nach bereits vorhandenen Einträgen gesucht werden
    'Diese stehen in Spalte "K" also eigentlich in .Columns(11) und diese Spalte ist aufgebaut wie die TextBox3
    'Nun wird mir aber jedes mal gesagt, dass die eingegebenen Daten neu sind, auch wenn sie in der Liste stehen
    'Zusätzlich habe ich die dumpfe Ahnung, dass durch rngZelle.Offset(0, 2) die Zellen nach dem gefundenen Eintrag genommen werden
    'und nicht ab dem Beginn der gefundenen Zeile
    With Sheets("Data")
    Set rngZelle = .Columns(11).Find(TextBox3, lookat:=xlWhole)
    If Not rngZelle Is Nothing Then
    TextBox4 = rngZelle.Offset(0, 2) 'Personalnummer
    TextBox5 = rngZelle.Offset(0, 6) 'Kostenstelle
    TextBox6 = rngZelle.Offset(0, 7) 'Kostenstellen Name
    TextBox7 = rngZelle.Offset(0, 8) 'Zuständig
    Else
    MsgBox "Der/die Mitarbeiter/in ist neu"
    End If
    End With
    Set rngZelle = Nothing
    End Sub
    
    
    Private Sub ComboBox3_Enter()
    ComboBox3.BackColor = vbYellow
    End Sub
    
    
    Private Sub ComboBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox3.BackColor = vbWhite
    End Sub
    
    
    Private Sub ComboBox4_Enter()
    ComboBox4.BackColor = vbYellow
    End Sub
    
    
    Private Sub ComboBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox4.BackColor = vbWhite
    End Sub
    
    
    Private Sub ComboBox1_Change() 'Nachname
    TextBox3.Value = ComboBox1.Value & " , " & ComboBox2
    End Sub
    
    
    Private Sub ComboBox2_Change() 'Vorname
    TextBox3.Value = ComboBox1.Value & " , " & ComboBox2
    End Sub
    
    
    Private Sub Button_Take_Click()
    Dim last As Integer
    last = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
    ActiveSheet.Cells(last, 4).Value = Personal.ComboBox2.Value
    ActiveSheet.Cells(last, 5).Value = Personal.ComboBox1.Value
    ActiveSheet.Cells(last, 10).Value = Personal.ComboBox3.Value
    ActiveSheet.Cells(last, 13).Value = Personal.ComboBox4.Value
    'Unload Personal
    End Sub
    
    
    Private Sub UserForm_Initialize()
    Personal.Height = 400
    Personal.Width = 320
    Personal.ComboBox1.RowSource = "Data!C:C" 'Nachname
    Personal.ComboBox2.RowSource = "Data!D:D" 'Vorname
    Personal.ComboBox3.RowSource = "Tabelle1!C2:C3" 'Personalklasse
    Personal.ComboBox4.RowSource = "Tabelle1!B:B" 'Funktion
    End Sub
    

  • Anzeige
    AW: Userform automatisch füllen bei Eingabe
    05.05.2021 18:08:20
    Oberschlumpf
    Hi,
    ...Was übersehe ich bzw. was muss ich ändern...
    Na ja, ich bat dich um eine brauchbare Bsp-Datei per Upload - zumindest das hast du bis jetzt nicht beachtet.
    Ciao
    AW: Userform automatisch füllen bei Eingabe
    06.05.2021 19:30:08
    Yal
    Hallo zusammen,
    es trifft nicht ganz die Erwartungen (ich lasse offen), könnte aber beitragen:
    Je nach Eingabe wird eine Liste von Einträge reduziert, bis nur ein Element da steht und ausgewählt wird.
    Also ein Userform mit nur 25 Zeilen Coding.
    https://www.herber.de/bbs/user/146042.xlsm
    VG
    Yal
    AW: Userform automatisch füllen bei Eingabe
    07.05.2021 08:36:27
    Klaus
    Hallo Yal,
    die Idee hat mir weiter geholfen. In meinem aktuellen Fall habe ich es aber nun so hier gelöst:
    Gruß Klaus
  • 
    Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox2.BackColor = vbWhite
    Dim rngZelle As Range
    With Sheets("Data")
    Set rngZelle = .Columns(11).Find(What:=TextBox3.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not rngZelle Is Nothing Then
    TextBox4.Value = rngZelle.Offset(, -9).Value
    TextBox5.Value = rngZelle.Offset(, -5).Value
    TextBox6.Value = rngZelle.Offset(, -4).Value
    TextBox7.Value = rngZelle.Offset(, -3).Value
    ComboBox4.Value = rngZelle.Offset(, -2).Value
    Else
    MsgBox "Der/die Mitarbeiter/in ist neu"
    End If
    End With
    Set rngZelle = Nothing
    End Sub
    

  • Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige