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.
Vielleicht hat jemand eine Idee.
Danke
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
..........
Danke, habe die Änderung mal probiert jedoch kann ich dann nicht die Listbox nicht mehr filtern.
Gruß Uwe
Hallo,
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.
Hallo,
sorry. Kommando zurück. Du hast recht. Muss noch mal drüber schauen, was da jetzt nicht richtig läuft.
Kann aber später werden.
Nur:
Code:
Private Sub Userform_Initialize()
txtDatumBestell = Date
ListBox1.List = Tabelle5.Cells(1).CurrentRegion.Value
ComboBox1.List = Tabelle4.Columns(1).SpecialCells(2).Value
ComboBox2.List = Tabelle4.Columns(3).SpecialCells(2).Value
ComboBox3.List = Tabelle4.Columns(5).SpecialCells(2).Value
End Sub
schau mal:
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html
Lösche .rowsource von combobox1 usw.
danke.
Habe mal die Änderungen eingefügt. Leider kann ich die Listbox nicht fiiltern.