ich habe diesen Code:
Private Sub Filter()
For i = 1 To Range(ActiveSheet.ListObjects(„Lagertabelle“)).Rows.Count
’ Kommentar als Beispiel für Tabellen
’ zB einer Tabellenzelle einen neuen Wert zuweisen:
’ Range(„Lagertabelle[Menge]“)(i)=„neuer Wert“
If Range(„Lagertabelle[Menge]“)(i).Value <> „“ Then _
ActiveSheet.ListObjects(„Lagertabelle“).Range.AutoFilter Field:=4, Criteria1:="<>"
Exit For
Next i
End Sub
Der läuft auch.
Ich möchte den Namen der Tabelle mit einer Variabel übergebe. Habe das versucht:
Sub Test()
Dim Quelle As String
Dim Quelle2 As String
Quelle = Chr(34) & Tabelle1.ListObjects(1).Name & Chr(34)
'Quelle2 = Chr(34) & Tabelle1.ListObjects(1).Name& [Menge] & Chr(34)
For i = 1 To Range(ActiveSheet.ListObjects(Quelle)).Rows.Count
’ Kommentar als Beispiel für Tabellen
’ zB einer Tabellenzelle einen neuen Wert zuweisen:
’ Range(„Lagertabelle[Menge]“)(i)=„neuer Wert“
If Range(„Lagertabelle[Menge]“)(i).Value <> „“ Then _
ActiveSheet.ListObjects(Quelle2).Range.AutoFilter Field:=4, Criteria1:="<>"
Exit For
Next i
End Sub
Läuft aber nicht. Wo liegt der Fehler? Kann man Field:=4 auch durch Field:=[Menge] ersetzen?
Danke und Gruss
Walter