Listbox, Daten ändern und zurückschreiben
22.12.2007 11:37:48
Gerhard
Hole in meine Listbox meine Daten mit folgendem Code:
Private Sub UserForm_initialize()
Dim wsTmp As Worksheet, lngZ As Long
Set wsTmp = Worksheets.Add 'später löschen, wenn nicht mehr gebraucht
ActiveSheet.Name = "Bestellen"
With Worksheets("BPF")
lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(1, 1).AutoFilter Field:=2, Criteria1:="BESTELLEN"
.Range(.Rows(1), .Rows(lngZ)).Copy wsTmp.Cells(1, 1)
End With
lngZ = Cells(Rows.Count, 1).End(xlUp).Row ' Anz. Zeilen in wsTmp
With ListBox1
.RowSource = wsTmp.Name & "!A2:AZ" & lngZ
.ColumnCount = 29
.ColumnHeads = True
End With
End Sub
Funktioniert...
Dann bringe ich die Daten via Klick in die Listbox auf den entsprechenden Datensatz in ein UF um diese zu ändern.
Jetzt möchte ich die Daten wieder zurückschreiben mit folgendem Code:
Private Sub cmdArtikelBestellt_Click()
Dim intZ As Integer
Dim durchsuchen, finden As Range
Set durchsuchen = Sheets("Bestellen").Range("A1:A" & _
Sheets("Bestellen").Range("A65536").End(xlUp).Row)
For Each finden In durchsuchen
If finden.Text = txtLfdNr.Text Then
intZ = finden.Row
Exit For
End If
Next finden
Cells(intZ, 1) = txtLfdNr
Cells(intZ, 2) = txtStatus
Cells(intZ, 3) = txtLieferant
Cells(intZ, 4) = txtLieferantennr
Cells(intZ, 5) = txtHersteller
Cells(intZ, 6) = txtArtikelbezeichnung
Cells(intZ, 7) = txtArtikelnummer
Cells(intZ, 8) = txtGröße
Cells(intZ, 9) = txtSystemnr
Cells(intZ, 10) = txtMenge
End Sub
Nur leider funktioniert das ned so wie ich will... Es wird mir immer der Datensatz auf das erste Sheet gebracht und nicht auf das Sheet "Bestellen" an entsprechender Stelle (Soll nach LfdNr schauen und diese Zeile finden und da abändern)
Was mache ich falsch?
Gruß Gerhard