Hallo,
muss zugeben ich habe in einem anderen Forum schon nachgefragt aber leider keine Antwort diesbezüglich erhalten deshalb versuche ich mein Glück hier! HOffe das ist ok??
Ich möchte mit einer Mehrfachauswahl mehrere Mitarbeiter auswählen und diese Untereinander in einer Tabelle schreiben.. zusammen mit anderen Einträgen wie Datum... Von .... Bis .... Tätigkeit.......Objekt....Mitarbeiter
Private Sub cmdEintragen_Click()
Dim i As Integer
Dim iCell As Integer
Dim lngLast As Long
wsTagesbericht.Select
Cells(Cells(Rows.Count, "A").End(xlUp).Row + 1, "A").Select
iCell = 1
For i = 0 To lstMitarbeiter.ListCount - 1
If lstMitarbeiter.Selected(i) = True Then
Range("E" & iCell).Value = lstMitarbeiter.List(i)
iCell = iCell + 1
End If
Next i
ActiveCell.Value = mvDate.Value
ActiveCell.Offset(0, 1).Value = txtAnfang
ActiveCell.Offset(0, 2).Value = txtEnde
ActiveCell.Offset(0, 3).Value = cboTaetigkeit
ActiveCell.Offset(0, 4).Value = lstMitarbeiter
ActiveCell.Offset(0, 5).Value = cboObjekte
ActiveCell.Offset(0, 6).Value = TimeDiff(txtEnde, txtAnfang)
End Sub
Der oben stehende Code funktioniert so noch nicht .. aber ich weis leider nicht wie ich diesen kombinieren muss damit wenn mehrere Mitarbeiter in der listbox ausgewählt worden sind diese untereinander stehen in meinen Fall Spalte E und alle anderen Informationen eingetragen werden..
Vielleicht könnte mir hier jemand etwas helfen.? Steh hier einfach irgendwie auf den Schlauch wie das funktionieren könnte.
Vielen Dank
Albert
Zitat von: silentwolf am August 05, 2016, 07:16:26
muss zugeben ich habe in einem anderen Forum schon nachgefragt aber leider keine Antwort diesbezüglich erhalten deshalb versuche ich mein Glück hier! HOffe das ist ok??
Wenn du eine angemessene Zeit abgewartet hast, finde ich das absolut in Ordnung. Ich denke mindestens 24 Std. sollte man in einem solchen Fall abwarten.
Zitat von: silentwolf am August 05, 2016, 07:16:26Der oben stehende Code funktioniert so noch nicht .. aber ich weis leider nicht wie ich diesen kombinieren muss damit wenn mehrere Mitarbeiter in der listbox ausgewählt worden sind diese untereinander stehen in meinen Fall Spalte E und alle anderen Informationen eingetragen werden..
Was genau funktioniert denn und was funktioniert nicht?
Aus meiner Sicht ist die Mischung zwischen den absoluten Zellbezug mit
Range("E" & iCell).Value und dann dem relativen Zellbezug mit
ActiveCell.Offset eher ungünstig.
Verändert sich
ActiveCell durch das Setzen des Wertes in
Range("E" & iCell)? - Ich denke nein. (Bin kein Excel Experte)
Ist es explizit gewünscht, dass die Daten dorthin geschrieben werden, wo der Benutzer den Cursor hat (
ActiveCell)?
Hallo PhilS,
danke für Deine Antwort..
Die Schleife die im Code enthalten ist schreibt die Daten der Listbox in die Spalte E in meinem Fall E2, E3, E4 wenn z.B. drei Mitarbeiter ausgewählt wurden.. das funktioniert...
Auch der restliche Code funktioniert also als seperater Code wenn man so sagen kann auch und schreibt die restlichen Daten in den jeweiligen Zellen. Also Datum, Von, Bis usw...
Ich würde gerne z.B. Datum auswählen Von Bis eintragen und Objekte und Tätigkeit in der Userform dazu von der Listbox zwei Mitarbeiter auswählen und dann in der ersten Freien Zeile diese Daten eintragen in der zweiten Zeile würde dann das selbe Datum, Tätigkeit Von Bis und Objekte eingetragen werden mit dem zweiten Mitarbeiter.
Also unabhängig läuft der Code für die Schleife- und der Code also ohne der Schleife funktioniert auch aber zusammen eben geht das so nicht.
Jetzt war meine Frage wie kann man das denn kombinieren??
Hab natürlich verschiedene Dinge ausprobiert aber leider keine Ahnung wie das gehen könnte..
LG
Das sollte relativ einfach sein.
Verschiebe den Code am Ende, der die übrigen Daten schreibt, in die Schleife durch die Listbox-Einträge und schreibe die Daten mit Bezug auf die Range(EiCell). Die erste Zeile davon wäre dann:
Range("E" & iCell).Offset(0, 1).Value = txtAnfang
Hallo PhilS,
danke für die Antwort! Ja wird schön langsam etwas besser! Leider funktioniert noch nicht so ganz das nicht in der ersten freie Zeile geschrieben wird und das neue Datensätze darunter geschrieben werden..
Also die Erste Zeile hat die Überschriften und darunter sollen die Daten eingetragen werden...
Und wenn die nachfolgenden natürlich darunter..
Werde oder muss mir das nochmal genauer anschauen ..
Schönen Gruß
Albert