Registriert seit: 02.12.2016
Version(en): Office 2010
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
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hi Pean,
ActiveSheet.ListObjects("Projektliste").Range.AutoFilter Field:=1, Criteria1:=ActiveSheet.Cells(5, 7)
LG
Alexandra
Registriert seit: 02.12.2016
Version(en): Office 2010
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
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
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
Registriert seit: 02.12.2016
Version(en): Office 2010
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 02.12.2016
Version(en): Office 2010
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
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Also ich verstehe nicht ganz was du willst!
Lade doch einfach deine/eine Beispielmappe hoch, damit wir das besser verstehen können!
LG
Alexandra
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
11.03.2019, 19:47
(Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2019, 19:47 von schauan.)
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.
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)
Registriert seit: 02.12.2016
Version(en): Office 2010
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