Mehrfachauswahl im Listenfeld und Daten in Tabelle schreiben.

28/08/2007 - 23:57 von Manzenreiter Gerhard | Report spam
Hallo schönen Abend.
Hàtte wiedermal Hilfe gebraucht.
Möchte gerne von einer Listbox mit Mehrfachauswahl die gewissen Daten in
eine Tabelle übertragen und diese dann Drucken.
Wenn ich nur einen Eintrag markiert habe werden die Daten der Listbox auch
übertragen.Werden mehrere Listeneintràge markiert wird auch nur ein
Datensatz in die Tabelle geschrieben.
mein Code:

Sub Listboxdaten_übertragen()
Dim intz As Long
Sheets("Druckblatt").Activate
'erste leere zelle anspringen in Spalte A
'Daten von der listbox übertragen
Range("A65536").End(xlUp).Offset(1, 0).Select

If UserForm1.ListBox1.ListIndex >= 0 Then

For intz = 0 To UserForm1.ListBox1.ListCount - 1

If UserForm1.ListBox1.Selected(intz) = True Then

ActiveCell.Value = UserForm1.ListBox1.Column(0,
UserForm1.ListBox1.ListIndex)
ActiveCell.Offset(0, 1).Value = UserForm1.ListBox1.Column(1,
UserForm1.ListBox1.ListIndex)
ActiveCell.Offset(0, 9).Value = UserForm1.ListBox1.Column(2,
UserForm1.ListBox1.ListIndex)
ActiveCell.Offset(0, 10).Value = UserForm1.ListBox1.Column(3,
UserForm1.ListBox1.ListIndex)
End If
Next intz
ActiveCell.Offset(1, 0).Select
End sub

End If


Schönen Dank im voraus

Manzenreiter Gerhard
 

Lesen sie die antworten

#1 Claus Busch
29/08/2007 - 00:30 | Warnen spam
Hallo Gerhard,

Am Tue, 28 Aug 2007 23:57:34 +0200 schrieb Manzenreiter Gerhard:

Möchte gerne von einer Listbox mit Mehrfachauswahl die gewissen Daten in
eine Tabelle übertragen und diese dann Drucken.
Wenn ich nur einen Eintrag markiert habe werden die Daten der Listbox auch
übertragen.Werden mehrere Listeneintràge markiert wird auch nur ein
Datensatz in die Tabelle geschrieben.
mein Code:


[Code ausgeschnitten]

probiere es mal so:
Dim EFZeile As Long
Dim i As Integer
Dim n As Long

EFZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1

With UserForm1.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Range("A" & EFZeile + n) = _
.List(i, 0)
Range("I" & EFZeile + n) = _
.List(i, 1)
Range("J" & EFZeile + n) = _
.List(i, 2)
n = n + 1
End If
Next
End With
End Sub


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP2 / Vista Ultimate
Office 2003 SP2 / 2007 Ultimate

Ähnliche fragen