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