AW: Listbox einträge in intelligente Tabelle bringen
18.06.2024 12:55:42
Alwin Weisangler
Hallo,
damit man in der Liste wenigstens den Unterschied zwischen wöchentlich und jährlich erkennen kann, wird am Ende ein J bzw. ein W mitgegeben.
Ansonsten erklärt sich mir dieser Konstrukt höchstens dahingehend, dass du dies hier als Möglichkeit zum Lernen betrachtest wie man in Listobjects programmiert.
so:
Option Explicit
Private Sub leerenjhl_Click()
lb_jährlich.Clear
End Sub
Private Sub leerenwtl_Click()
lb_wöchentlich.Clear
End Sub
Private Sub Maschine_anlegen_Click()
Dim i&, k&, arr()
ReDim arr(1 To 1, 1 To Tabelle2.ListObjects(1).ListRows.Count + 1)
With lb_wöchentlich
For i = 1 To .ListCount
arr(1, .List(i - 1, 0) + 1) = .List(i - 1, 1) & " W"
Next i
End With
With lb_jährlich
For i = 1 To .ListCount
arr(1, .List(i - 1, 0) + 1) = .List(i - 1, 1) & " J"
Next i
End With
With Tabelle1.ListObjects(1)
.ListRows.Add.Range.Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End With
End Sub
Private Sub UserForm_Initialize()
lb_wartungen.List = Tabelle2.ListObjects(1).DataBodyRange.Value
End Sub
Private Sub zujhl_Click()
Dim i&, arr()
With lb_wartungen
For i = 0 To lb_wartungen.ListCount - 1
If .Selected(i) = True Then
lb_jährlich.AddItem i + 1
lb_jährlich.List(lb_jährlich.ListCount - 1, 1) = .List(i, 0)
.Selected(i) = False
End If
Next i
End With
End Sub
Private Sub zuwlt_Click()
Dim i&, arr()
With lb_wartungen
For i = 0 To lb_wartungen.ListCount - 1
If .Selected(i) = True Then
lb_wöchentlich.AddItem i + 1
lb_wöchentlich.List(lb_wöchentlich.ListCount - 1, 1) = .List(i, 0)
.Selected(i) = False
End If
Next i
End With
End Sub
Gruß Uwe