Hallo zusammmen vielleicht hat jemand eine Idee was ich hier falsch mache.
Nach dem filtern der Listbox kann ich leider den DAtensatz nicht mit doppelklick in die Text-Felder transportieren um sie zu bearbeiten. Ohne Filter funktioniert es bestens.
28.01.2016, 19:21 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2016, 19:21 von atilla.)
Hallo
ändere die FunctionFunction Array_Prüfen so:
Code:
Dim i As Long, j As Long Dim r As Long Dim arr() As Variant Dim y As Boolean
For i = LBound(arrTmp) To UBound(arrTmp) If LCase(arrTmp(i, Spalte)) Like "*" & LCase(txt.Text) & "*" Then ReDim Preserve arrT(0 To 12, 0 To r) ReDim Preserve arr(1 To 13, 1 To r + 1) y = True For j = 0 To 13 'Hier nur die 12 auf 13 geändert arrT(j, r) = arrTmp(i, j + 1) arr(j + 1, r + 1) = arrTmp(i, j + 1) Next j r = r + 1 End If Next i
If y Then Erase arrTmp arrTmp = WorksheetFunction.Transpose(arr) ListBox1.Clear If UBound(arrT, 2) = 0 Then ReDim arr(0, 12) For i = 0 To 12 arr(0, i) = arrT(i, 0) Next i ListBox1.List = arr Else Array_Prüfen = WorksheetFunction.Transpose(arrT) End If Else MsgBox "Keine passenden Daten zu den Kriterien gefunden !" txt.Text = "" txt.SetFocus Array_Prüfen = ListBox1.List End If End Function
Mir ist noch aufgefallen, dass die erste Zeile in der Listbox auf Doppelklick nicht reagiert. Um das zu ändern in der Prozedur ListBox1_DblClick das "=" in "<" ändern, so wie unten
Code:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Me.ListBox1.ListIndex < 0 Then Cancel = True Exit Sub End If ..........
teste den Code noch einmal. Hast Du gesehen, dass ich zwischenzeitlich den Code neu rein gesetzt habe?
Im Code erkennst Du die Änderung an der Kommentierten Zeile. Vorhin hatte ich zu viel verändert. Es muss lediglich eine Zahl von 12 auf 13 geändert werden.