Ich gehe davon aus, dass die UserForm2 die ListBox1 enthält.
 Dann generiere auf der UserForm2 einen CommandButton (Befehlsschaltfläche), nehmen wir an, dieser heiße CommandButton1.
 Wenn du im Entwurfsmodus doppelt auf diesen CommandButton1 klickst, öffnet sich das Codefenster der UserForm, in der wohl auch deine Private Sub UserForm_Initialize() bereits steht, und es wird eine neue 
 Private Sub CommandButton1_Click() erzeugt. Dort kannst du den Code hinein kopieren. Also:
 
 Private Sub CommandButton1_Click() 
 a = ""
 For i = 0 To ListBox1.ListCount - 1
 If ListBox1.Selected(i) = True Then a = a + ListBox1.List(i) + vbCrLf
 Next i
 Cells(Zeile,Spalte)=a 'Zeile und Spalte der Zelle der aktiven Tabelle, in die hinein kopiert werden soll
 End Sub
 
 Für Zeile und Spalte musst du konkrete nummerische Werte eingeben, z.B. Cells(9,2) für Zelle B9. Falls die Zielzelle nicht auf der aktiven Tabelle liegt, geht
 Worksheet("Deine Tabelle, wie sie auf dem Reiter bezeichnet ist").Cells(Zeile,Spalte)=a
 
 Das Ergebnis wäre, wenn du bert und ernie ausgewählt hast, dass in die Zelle
 bert
 ernie
 geschieben wird, vbCrLf erzeugt einen Wagenrücklauf (Carriage Return) und einen Zeilenwechsel (Line Feed). vb steht für Virtual Basic. Wenn die Zelle nicht hoch genug formatiert ist, wird das Ergebnis nur teilweise angezeigt.
 Viel Erfolg
 Holger
 
 
 
 Gast1980 schrieb am 22.01.2008 13:17:02:
 
 Also ich habe ein UserForm mit einer Listbox1. Und mit 
 
 Private Sub UserForm_Initialize()
 With ListBox1
 .AddItem "bert"
 .AddItem "Krümeml"
 .AddItem "ernie"
 .ListIndex = 0
 .MultiSelect = fmMultiSelectExtended
 End With
 
 End Sub
 habe ich die Listeneinträge generiert. In der Tabelle5 habe ich folgende Zeilen:
 
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean
     
     Cancel = True   'Verhindert das Standardauswahlfenster
     If Target.Row > 6 And Target.Column = 10 Then
     UserForm2.Show
     End If
 
 
 Vielleicht eine doofe Frage, aber wo muss dein geschriebener Code hin? und mit welchem Ereignis?
 
 Vielen Dank schon mal für die Mühe
 
 Gruß
 Andreas
 
 
 Holger schrieb am 22.01.2008 09:33:44:
 
 Hallo Gasr1980,
 ich gehe davon aus, dass du eine MultiSelect-ListBox, z.B. ListBox1, erzeugt hast, aus der du die Werte abrufen willst. Das kannst du mit der Selected- und List-Eigenschaft der ListBox erreichen. Im Beispiel erzeuge ich in der String-Variablen a eine zeilenweise Darstellung der selektierten ListBox-Einträge und schreibe das Ergebnis in die durch Zeile und Spalte bezeichnete Zelle der aktiven Tabelle.
 a = ""
 For i = 0 To ListBox1.ListCount - 1
 If ListBox1.Selected(i) = True Then a = a + ListBox1.List(i) + vbCrLf
 Next i
 Cells(Zeile,Spalte)=a
 
 Ich hoffe, dir geholfen zu haben.
 Holger
 
 
 Gast1980 schrieb am 21.01.2008 14:54:44:
 
 Hallo ich brauche dringend Hilfe.
  Ich muss aus einer Listbox mit vorgebenen Werten, selektierte Werte  in eine Zelle übertragen. Bei klicken der rechten Mousetaste, wird das Userform geöffnet. 
 
 Wenn ein oder mehrere Einträge makiert sind, soll die in die Target.cell übertragen werden. 
 
 Kann mir jemand bitte helfen?
 
 Vielen Dank im Voraus
 
 Gruß Andreas     |