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, 18:21 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2016, 18: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.