Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eingabemaske (userform) erstellen

Eingabemaske (userform) erstellen
01.07.2005 11:44:47
Daniel
Hallo Leute,
da ich ein totaler VBA Anfänger bin habe ich keine Ahnung wie ich eine Eingabemaske erstellen kann.
Ich möchte eine Mitarbeiterliste mit einer USERForm füllen. Der User soll
eintrage: Namen
und zwischen den Funktionen:
SW
HW
PL
Rob
wählen können.

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

Wie gehe ich hier vor. Hab leider keinen Anhaltspunkt. Sowas geht ja leider mit dem Makrorekorder nicht :(
Vielen Dank schon mal
Daniel

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

Betreff
Datum
Anwender
Anzeige
Kann mir jemand helfen? :(
01.07.2005 12:32:39
Daniel
Hallo,
ich habe nun folgendes Beispiel gefunden. Leider kann der User hier keine Optionen wählen. Wie kann ich denn Optionsfelder hinzufügen. Der User soll zwischen verschiedenen Optionen wählen können, die dann in einer Spalte erscheinen. Wenn ein neuer Mitarbeiter hinzugefügt wird soll dieser die nächste Zeile füllen.
Gruß
Danke
Daniel

Private Sub Label2_Click()
MsgBox "... habe ich die Farben der Userform etwas verändert.", vbOKOnly + vbInformation, "Farbe"
End Sub


Private Sub Label5_Click()
End Sub

'Dieses Makro dient zum Anzeigen der einzelnen Angaben
'bei der Auswahl in der Listbox.

Private Sub ListBox1_Click()
i = ListBox1.ListIndex + 3
Beep
TextBox3.Text = Cells(i, 2).Value
TextBox1.Text = Cells(i, 3).Value
TextBox2.Text = Cells(i, 4).Value
Range("A22").Value = ListBox1.ListIndex
Range("A24").Value = i
Range("A26").Value = ListBox1.Text
Label3.Caption = "Listindex: " & ListBox1.ListIndex
End Sub


Private Sub OptionButton1_Click()
End Sub


Private Sub TextBox1_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Cells(i, 3).Value = TextBox1.Text
End Sub


Private Sub TextBox2_Change()
If ListBox1.ListIndex = -1 Then Exit Sub
Cells(i, 4).Value = TextBox2.Text
End Sub

'################################################################################
'####################### Makros der jetzigen Lektion ############################
'################################################################################
'In Textbox3 wird nun das in der Listbox gewählte Element gezeigt.
'Die Eingabe in die Textbox ist nicht erlaubt, dazu wurde die
'Eigenschaft Enabled auf False gesetzt.
'Die Schaltfläche Übernehmen (Commandbutton3) ist nicht sichtbar,
'Eigenschaft Visible ist False.
'Bei Klick auf Neu wird Textbox3 erlaubt und Commandbutton3
'sichtbar. Dafür wird Listbox1 nicht erlaubt und die Schaltfläche Neu
'(Commandbutton2) versteckt.
'Schaltfläche Neu (Commandbutton2)

Private Sub CommandButton2_Click()
'Verändern der Eigenschaften der Userform-Elemente (s. o.)
TextBox3.Enabled = True
CommandButton3.Visible = True
ListBox1.Enabled = False
CommandButton2.Visible = False
'Suchen der nächsten leeren Zeile in Spalte B,
'die letzte zu durchsuchende Zeile ist 50
For i = 3 To 50 'Festlegen der Zeilen, in denen das Makro suchen soll
If Cells(i, 2).Value = "" Then Exit For 'wenn leere Zelle gefunden
Next
'Textboxen leeren
TextBox1.Text = "schön "
TextBox2.Text = ""
TextBox3.Text = ""
'i ist jetzt die Zeilennummer der leeren Zelle
'und die Eingabe der Angaben zum neuen Element kann beginnen.
'Damit das Eingeben gleich beginnen kann, Cursor in
'Textbox3 (Namen) setzen:
TextBox3.SetFocus
End Sub

'Schaltfläche Übernehmen (Commandbutton3)

Private Sub CommandButton3_Click()
'Wenn kein neues Element eingetragen wurde,
'alle Textboxen leeren (sonst würde schön in
'Spalte C erscheinen):
If TextBox3.Text = "" Then
TextBox1.Text = ""
TextBox2.Text = ""
End If
'Textboxinhalte in Zeile i (gefundene leere Zeile übernehmen)
Cells(i, 2).Value = TextBox3.Text
Cells(i, 3).Value = TextBox1.Text
Cells(i, 4).Value = TextBox2.Text
'Da das neue Element jetzt noch nicht in der Listbox
'auftaucht, muß es nun eingelesen werden.
'Dazu gibt es viele Möglichkeiten, aus meiner Erfahrung
'heraus ist die folgende die sicherste.
'Listbox1 leeren
ListBox1.Clear
'Listbox neu füllen
For i = 3 To 50
If Cells(i, 2).Value <> "" Then ListBox1.AddItem (Cells(i, 2).Value)
Next
'Elemente der Userform zurücksetzen:
TextBox3.Enabled = False
CommandButton3.Visible = False
ListBox1.Enabled = True
CommandButton2.Visible = True
'Ab jetzt nimmt i immer wieder den Wert des
'Listindexes der Listbox 1 + 3 an.
'Damit die Auswahl gleich weitergehen kann,
'Listbox1 aktivieren
ListBox1.SetFocus
End Sub


Private Sub UserForm_Click()
End Sub

Anzeige
AW: Kann mir jemand helfen? :(
01.07.2005 12:57:26
Alexander
Ich bastel dir mal was. Dauert aber nen Moment.
AW: Kann mir jemand helfen? :(
01.07.2005 13:03:04
Daniel
Vielen Dank Alexander. Du bist der Retter in der Not.
Gruß
Daniel
Problem gelöst durch Alexander
01.07.2005 13:13:00
Daniel
Du bist a Traum. Funktioniert genau so wie ich mir das vorgestellt habe.
Gruß und vielen Dank
Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige