Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Kombinatiosfeld

Betrifft: Kombinatiosfeld
von: Andreas
Geschrieben am: 22.04.2003 - 08:32:46

Hallo
Kann mir jemand sagen wie ich mehre Namen von einem Kobinationsfeld auswählen kann die sollen dann unternander in einem neuen Tabellenblatt stehen.
MFG Andreas

  

Re: Kombinatiosfeld
von: andre
Geschrieben am: 22.04.2003 - 08:57:49

hallo andreas,
zum gleichzeitigen auswählen musst du ein listenfeld nehmen - eigenschaft multiselect auf ...multi stellen.
als code brauchst du noch:
Private Sub UserForm_Terminate()
'Listbox mit 5 Eintraegen
'Auswahl wird in Spalte C geschrieben
For i = 0 To 4
If ListBox1.Selected(i) = True Then
j = j + 1
Sheets("tabelle1").Range("C" & j) = ListBox1.List(i)
End If
Next i

End Sub
terminate wenn du das userform mit X beendest und das ergebnis willst. ansonsten den code z.b. in den vom ok-button einbauen oder ...
gruss andre

  

Re: Kombinatiosfeld
von: PeterA
Geschrieben am: 22.04.2003 - 08:59:45

Hallo Andreas !

Schau dir mal folgenden Code an. Du brauchst dazu eine Userform mit einer Listbox und einem Commandbutton. Danch weist du den Code der Userform und dem Button zu.

Falls es zu kompliziert wird ich hab da ein Beispiel. WEnn du mir deine Email Addr. gibst schicke ich sie dir.

Ps.: Du musst in den Eigenschaften des Listfeldes die Multiselect Eigenschaft auf True setzen.

Ciao Peter


Private Sub CommandButton1_Click()
Dim Bereich As Range
Dim Eintrag As Variant
Dim Anzahl_Einträge As Integer

Set Datenblatt = Worksheets("Tabelle1")
Set Bereich = Datenblatt.Range("A1:A5")
Set Bereich1 = Datenblatt.Range("B1:B5")

Bereich1.ClearContents
Anzahl_Einträge = ListBox1.ListCount
Zähler_schreiben = 1

For x = 0 To Anzahl_Einträge - 1

If UserForm1.ListBox1.Selected(x) = True Then
Tabelle1.Cells(Zähler_schreiben, 2) = ListBox1.List(x)
Zähler_schreiben = Zähler_schreiben + 1
End If
Next

End Sub

Private Sub UserForm_Activate()
Dim Bereich As Range
Dim Eintrag As Variant

Set Datenblatt = Worksheets("Tabelle1")
Set Bereich = Datenblatt.Range("A1:A5")
Set List = UserForm1.ListBox1

For Each Eintrag In Bereich
List.AddItem Eintrag
Next

End Sub


  

Re: Kombinatiosfeld
von: Andreas
Geschrieben am: 22.04.2003 - 09:14:03

Meine E-Mail A.Eickmann@t-online.de
Bitte sende mir das Beispiel
MFG Andreas