AW: Listbox füllen und bearbeiten
26.12.2020 13:25:51
Uwe
Anbei nochmal die Codes, welche die Erstellung der Liste, deren Änderung / Neuanlegung ermöglichen sollten
Private Sub UserForm_Initialize()
' Auswahl Comboboxen
ComboBox1.AddItem "ja"
ComboBox1.AddItem "nein"
ComboBox2.AddItem "ja"
ComboBox2.AddItem "nein"
ComboBox3.AddItem "ja"
ComboBox3.AddItem "nein"
ComboBox4.AddItem "ja"
ComboBox4.AddItem "nein"
'Listbox1 füllen aus Daten Spalte W-AA ab zeile 3
Dim Personal() As Variant
Dim i As Long
With Sheets("Daten")
i = .Cells(.Rows.Count, 1).End(xlUp).Row
If i > 1 Then
ReDim Personal(0 To i - 2, 8)
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
Personal(i - 2, 1) = .Cells(i, 23) 'Name
Personal(i - 2, 2) = .Cells(i, 24) 'KTW
Personal(i - 2, 3) = .Cells(i, 25) 'RTW
Personal(i - 2, 4) = .Cells(i, 26) 'ID
Personal(i - 2, 5) = .Cells(i, 27) 'IRLS
Next
With ListBox1
.List() = Personal
End With
Erase Personal
End If
End With
End Sub
'Von ListBox in die TextBoxen übertragen um Address Daten zu bearbeiten
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = ListBox1.Column(1, ListBox1.ListIndex) 'Name
ComboBox1.Value = ListBox1.Column(2, ListBox1.ListIndex) 'KTW
ComboBox2.Value = ListBox1.Column(3, ListBox1.ListIndex) 'RTW
ComboBox3.Value = ListBox1.Column(4, ListBox1.ListIndex) 'ID
ComboBox4.Value = ListBox1.Column(5, ListBox1.ListIndex) 'IRLS
End Sub
'bearbeitete Daten übernehmen
Private Sub but_bearbeiten_Click()
Dim Lrow
With Sheets("Daten")
.Cells(Lrow, 23) = TextBox1 'Name
.Cells(Lrow, 24) = ComboBox1 'KTW
.Cells(Lrow, 25) = ComboBox2 'RTW
.Cells(Lrow, 26) = ComboBox3 'ID
.Cells(Lrow, 27) = ComboBox4 'IRLS
End With
ActiveWorkbook.RefreshAll
End Sub
' Inhalte aus Textbox übertragen in Tabelle Daten
Private Sub but_neu_Click()
' Inhalte Neu aus Textbox übertragen in Tabelle Daten
'Pflichtfelder in Kunden Tabelle Textbox
If TextBox1.Text = "" Then
MsgBox "Bitte Namen eintragen!"
Exit Sub
End If
Dim erste_freie_Zeile As Integer
With Sheets("Daten")
erste_freie_Zeile = .Cells(.Rows.Count, 23).End(xlUp).Offset(1, 0).Row
.Cells(erste_freie_Zeile, 23) = (TextBox1.Text) 'Name_W
.Cells(erste_freie_Zeile, 24) = (ComboBox1.Text) 'KTW_X
.Cells(erste_freie_Zeile, 25) = (ComboBox2.Text) 'RTW_Y
.Cells(erste_freie_Zeile, 26) = (ComboBox3.Text) 'Innendienst_Z
.Cells(erste_freie_Zeile, 27) = (ComboBox4.Text) 'Leitstelle_AA
End With
ActiveWorkbook.RefreshAll
End Sub