Benötige Hilfe bei Listbox
#1
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


Angehängte Dateien
.xlsm   Kopie von 102975-1.xlsm (Größe: 64,71 KB / Downloads: 12)
Top
#2
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
   ..........
Gruß Atilla
Top
#3
Danke, habe die Änderung mal probiert jedoch kann ich dann nicht die Listbox nicht mehr filtern.

Gruß Uwe
Top
#4
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.
Gruß Atilla
Top
#5
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.
Gruß Atilla
Top
#6
Danke
Top
#7
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
Top
#8
(28.01.2016, 22:38)snb schrieb: schau mal: http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html

Habe den Code eingebaut, bekomme aber einen Laufzeitfehler 70. "Zugriff verweigert"

L
Top
#9
Lösche .rowsource von combobox1 usw.
Top
#10
danke.

Habe mal die Änderungen eingefügt. Leider kann ich die Listbox nicht fiiltern.


Angehängte Dateien
.xlsm   Test_02.xlsm (Größe: 62,6 KB / Downloads: 4)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste