seit kurzer Zeit befasse ich mich mit der Erstellung diverser Makros. Aktuell bin ich auf ein Problem gestoßen, bei dem ich Hilfe benötige.
Ziel ist, einen Wert aus einer Zell auf einem Tabellenblatt1 in die Zwischenablage zu kopieren und auf einem Tabellenblatt2 in einer bestimmten Zelle unter der eine Menge Daten stehen danach zu filtern. Wenn es einen Weg gibt, dass man diesen Wert ohne Kopieren in die Zwischenablage aufrufen kann, würde ich auch gerne diesen Weg gehen.
Der aktuell geschriebene Code sieht wie folgt aus:
Sub Filtern()
Dim oData As DataObject
Set strFilter = New DataObject
Sheets("Tabellenblatt1").Select
strFilter = ActiveSheet.Range("B10")
With oData
.SetText strFilter
.PutInClipboard
End With
Sheets("Tabellenblatt2").Select
Dim Liste As Range
With oData
.GetFromClipboard
End With
Set Liste = ActiveSheet.Range("AG30:AG4000")
Liste.AutoFilter Field:=1, Criteria1:="strFilter"
End Sub
Welchen Fehler mache ich dabei? Wie könnte man es einfacher und korrekt schreiben?
Vielen Dank für eure Hilfe!