Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro AutoFilter mit copy/paste
#1
Hallo Excel Profis,

Habe ein kleines Problem in einem Makro, aber ev. funktioniert dies ja auch gar nicht.
Möchte in einem Makro den AutoFilter aus einer kopierten Zelle mitgeben. Wenn ich das Makro aufzeichne, wird aber logischerweise der aktuelle Inhalt hinzugefügt.
Wie muss das Critera1 angeben werden, damit ich "paste" von G2 verwenden kann und nicht der aktuelle Wert "PR-123" drin steht?


 Range("G2").Select
    Selection.Copy
    Sheets("Tab1").Select
    ActiveSheet.ListObjects("Projektliste").Range.AutoFilter Field:=1, Criteria1:= _
        "PR-123"

Besten Dank für jeden Hinweis
Grüsse
Pean
Antworten Top
#2
Hi Pean,


ActiveSheet.ListObjects("Projektliste").Range.AutoFilter Field:=1, Criteria1:=ActiveSheet.Cells(5, 7)

LG
Alexandra
Antworten Top
#3
Hallo Alexandra,

Besten Dank, aber das hat irgendwie nicht funktioniert.
Habe jetzt eine Lösung gefunden, vermutlich nicht sonderlich elegant, aber es funktioniert.

 Range("G2").Select
    Selection.Copy
    Sheets("ORA").Select
    Range("B1").Select
    ActiveSheet.Paste
    ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Range("B1")

Wenn du noch eine Idee hast wie ich den Wert direkt übergeben kann, gerne.

Grüsse
Pean
Antworten Top
#4
Code:
ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Sheets("Projektliste").Range("G2")
Allerdings sagt dein zweiter Code etwas anderes als dein erster. Zuerst heißt das Tabellenblatt "Tab1" und das Listobjekt "Projektliste"
Dann auf einmal Tabellenblatt "ORA" und das Listobjekt heißt auch so. Was stimmt denn nun?
Schöne Grüße
Berni
Antworten Top
#5
Hallo MistrerBurns,

Beide Angaben stimmen, ich habe nur die Namen geändert.
Ich habe diverse Arbeitsblätter, Tab1, Tab2, Tab3, etc mit einem Button für das Makro und möchte  jewweils den Wert von G2 in den Autofilter von Arbeitsblatt "ORA" kopieren.
Daher muss ich irgendwie mit cppy /paste verwenden können.

Ich kann daher nicht "Tab1" aks Wert mitgeben

ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Sheets("Tab1").Range("G2")

Grüsse
Pean
Antworten Top
#6
Hallöchen,

warum nicht?

MeinBlatt="Tab1"
ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Sheets(MeinBlatt).Range("G2")

Außerdem ist es zuweilen vorteilhaft, den Inhalt eines Range z.B. mit .Value abzufassen

MeinBlatt="Tab1"
ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Sheets(MeinBlatt).Range("G2").Value
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hallo schauan,

Danke für deinen Input.

Ich habe aber 100 Arbeitsblätter und möchte mit jedem das gleiche Makro via Button anwählen können.
Wenn ich dich aber richtig verstehe, funktioniert dein Tipp nur mit dem ersten Arbeitsblatt "Tab1". Oder sehe ich das falsch.

Grüsse
Pean
Antworten Top
#8
Also ich verstehe nicht ganz was du willst!

Lade doch einfach deine/eine Beispielmappe hoch, damit wir das besser verstehen können!

LG
Alexandra
Antworten Top
#9
Hallöchen,

wenn Du auf 100 Blättern 100 Buttons haben willst, die jeweils nur das Blatt beackern, wo der Button drauf ist, dann nimm nicht Sheets(MeinBlatt) sondern ActiveSheet. Smile Ich glaube, eine Datei mit 100 oder auch nur 10 Blättern bringt uns da nicht weiter. Eine bessere Beschreibung wäre nicht verkehrt.
Mit einem Button wählt man übrigens kein Makro sondern startet eins. Wenn Du eine Auswahl haben willst, würde sich z.B. ein Userform anbieten, welches durch den Button gestartet wird und wo Du z.B. eine Listbox oder eine Combobox drauf hast, wo Du was auswählen kannst
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hallo Zusammen,

Kann die Datei leider nicht hochladen. Ist zu gross und hat zu viele kritische Daten drin.

Habe es jetzt so gelöst, nicht besonders elegant, aber besser kriege ich es nicht hin.
Ich speichere den kopierten Wert temporär in B1 auf dem Arbeitsblatt ORA bevor ich ihn im Autofilter der Tabelle ORA benutze.

  Range("G2").Select
  Selection.Copy
  Sheets("ORA").Select
  Range("B1").Select
  ActiveSheet.Paste
  ActiveSheet.ListObjects("ORA").Range.AutoFilter Field:=1, Criteria1:=Range("B1")

Grüsse
Pean
Antworten Top


Gehe zu:


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