Clever-Excel-Forum

Normale Version: [VBA] Spalte einer Listbox in Tabelle kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich bin VBA Neuling und verzweifel gerade.

Ich habe eine Listbox ( lbBerechnung) die in 3 Spalten unterteilt ist.
Ich möchte die 1 Spalte in eine Tabelle (Deckungsbeitragg) kopieren, jedoch sollen dei Einträge nicht untereinander sondern nebeneinander stehen. Des weiteren gibt in Spalte 1 einige leerzeilen die überspringen werden sollen. Könnte mir einer hierzeu dn Code schreib und mit Komentaren versehen, damit ich die Schritte nachvollziehen kann.

Gruß Tobias
Hallo Tobias,

habe mal für das Kopieren in eine Tabelle eine Beispieldatei erstellt. (und auch die leeren Zeilen sind jetzt dabei).
Hallo Stefan,

hab mich wohl undeutlich ausgedrückt. Ich habe keine Leerzeilen in meier Tabelle sondern in meiner Listbox. Ich habe mal meine Datei mit hinzugefügt.

Wenn du auf den Button in Tabelle 4 klickst, öffnet sich eine Userform. Hier kannst du in der zwischen 2 DB1 und DB2 wählen.
Darunter ist eine combobox in der man ein Projekt auswählen kann.
Durch Multiselect in der Listbox kannst du dem Projekt Mitarbeiter zuordnen. Beim Klicken auf übernehmen werden die Infos in die nächste Listbox übertragen.
Wenn du DB2 auswählst, musst du zusätzlich einen Projektleiter auswählen.

Auf der Tabelle Deckungsbeitragsrechner findest du zusätzlich ein Beispiel wie das Ergenbiss bei DB1 und Wie bei DB2 aussehen soll. Okay vielleicht nicht mit den Farben.

Spalte 1 der Listbox soll nicht untereinander sondern nebeneinander stehen ohne die Leerstellen.
Spalte 2 soll mit der Tabelle Mitarbeiterliste abgeglichen werden. Alle Spalten die in zeile 3 Var stehen haben sollen für die Mitarbeiter addiert werden und mit der Anzahl der Projektlaufzeit multipliziert werden.
         - Das Gleich gilt für die Spalten die Fix in der 3 Zeile haben.

Spalte 3 siehe Spalte 3 jedoch auf der Tabelle Projektleiter

Das ist die Aufgabe der Datei

Vielleicht kannst du mir ja hierbei helfen,
Gruß Tobi
Hallo Tobias,

(27.10.2015, 08:08)murse schrieb: [ -> ]Spalte 1 der Listbox soll nicht untereinander sondern nebeneinander stehen ohne die Leerstellen.

zumindest dies könnte mit dem Code erfüllt sein.

Code:
'Aufruf des Modul2
Private Sub CommandButton1_Click()
   Dim lngC As Long, lngS As Long

'Call Berechnung
    'setzen des Spaltenwertes
    lngS = 2
    ActiveSheet.Cells(4, 1) = "Erlös"
    ActiveSheet.Cells(5, 1) = "Variable Kosten"
    ActiveSheet.Cells(6, 1) = "Fixe Kosten"
    ActiveSheet.Cells(7, 1) = "Ergebnis"
    'durchlaufen der Listbox
    For lngC = 0 To lbBerechnung.ListCount - 1
    'wenn der Wert ungleich "" ist, wird er in die Tabelle eingetragen
        If lbBerechnung.List(lngC, 0) <> "" Then
            ActiveSheet.Cells(3, lngS) = lbBerechnung.List(lngC, 0)
            lngS = lngS + 1
        End If
    Next lngC

End Sub