Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Autofilter

Makro Autofilter
24.02.2015 21:18:31
Debian
Hoi Zäme :-)
Für ein Rechnungsprogramm hab ich mir hier mal Hilfe geholt, das hat ganz hervorragend geklappt. Jetzt möchte ich ein paar Funktionen der Mappe für eine andere Mappe benützen, muss sie dazu einfach etwas anpassen. Konkret hab ich gerade ein Problem mit dem Filter. Der müsste einfach immer aktiviert sein. In der neuen Mappe bleibt er aber nicht aktiviert. In der Ursprungsmappe hat der Filter in Zelle A35 auch statt des kleinen Pfeils ein Trichtersymbol. Wie bekomm ich das hin? Irgendwie scheint es essentiell für das Funktionieren des Makros zu sein, ich weiss aber nicht, wie ich das einstellen muss.
Mit "Ansicht", "Benutzerdefinierte Ansichten"funktioniert es offenbar nicht.
Das hier ist das ursprüngliche Makro, was auch super funktioniert.
Sub Aktualisieren()
Call SchutzAus
Selection.AutoFilter
Sheets("Verkauf fortlaufend").Select
Range("A1:J1001").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"A1005:A1006"), CopyToRange:=Range("C1005:J1005"), Unique:=False
Sheets("Rechnungsformular").Select
Range("A35:H35").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=""
End Sub
Hat jemand eine Idee, wo mein Problem liegt?
Merci im Voraus für eure Hilfe.
Gruss.
Debian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Autofilter
25.02.2015 06:44:24
MCO
Guten Morgen, Debian!
In dem von dir angeführten code wird mit "call Schutzaus" eine andere Prozedur aufgerufen, wahrscheinlich um den Blattschutz zu entfernen.
Auf dem aktivierten Blatt wird der Autofilter an- bzw ausgeschaltet.
Anschließend wird im Sheet "Verkauf fortlaufend" der Spezialfilter verwendet (unter Daten - Filtern - Erweitert)
Anschließend wir im Sheet "Rechnungsformular" der autofilter abgeschaltet, wahrscheinlich um wieder eine vollstädige, ungefilterte Liste zu bekommen. Dieses Ziel erreicht man besser mit
if Sheets("Rechnungsformular").filtermode then Sheets("Rechnungsformular").showalldata
Damit entfällt auch der nächstse Satz

Selection.autofilter
, man kann direkt mit Kriterien filtern mit dem Kriterium "" (nicht leere Zellen)
Bitte vermeide select im code, es bremst den Ablauf und ist unschön.
Ich hoffe, damit kommst du schon weiter...
Gruß, MCO

Anzeige
AW: Makro Autofilter
25.02.2015 14:29:05
Debian
Merci MCO:-)
Hhmm, ich steh ehrlich gesagt bissle im Wald. Hast recht, über den "select" und "activate"-Käse hab ich auch schon einiges gehört und gelesen. Derjenige, wo mir mit der Rechnungsmappe, aus welcher der Code stammt, geholfen hat, hat das geschrieben und es funktioniert hervorragend, drum hab ichs nie verändert oder das "Selection" hinterfragt. Bisschen blöd, das die Mappe zu gross ist. Hab schon alles entbehrliche rausgeschmissen, sie ist aber immer noch über 400 kb gross und kann somit hier anscheinend nicht hochgeladen werden (normalerweise hätte die mehrere MB, durch die ganzen Rezeptblätter mit Bildern drin). Ich weiss, es sollen ja alle hier etwas davon haben. Könnt ichs Dir im Zweifel dennoch mal an Deine Email-Adresse schicken?
Was ich eigentlich hier vorhabe ist folgendes:
Es handelt sich um eine Abwandlung des vormaligen Rechnungsprogrammes (Blätter: "Kundenstammdaten", "Verkauf fortlaufend", "Rechnungsformular", "Debitorenliste")
Kundenadressen werden in Blatt "Kundenstammdaten" eingetragen, sämtliche Verkäufe und Dienstleistungen in "Vekauf fortlaufend". Im Blatt "Rechnungsformular" befindet sich quasi die leere Rechnungsvorlage und eine Dropdownliste, zum Auswählen des Kunden, für den eine Rechnung erstellt werden soll. Mittels eines Buttons "Rechnung erstellen" werden dann die zum Kunden gehörigen Adressdaten aus "Kundenstammdaten", die einzelnen Rechnungspositionen aus "Verkauf fortlaufend" zusammengesucht und daraus gemäss der Rechnungsvorlage eine separate Rechnung erstellt und als neues Blatt mit Werten ohne Formeln in die Mappe abgelegt.
Dieses System möchte ich nun abwandeln. Ich habe eine Inventarliste fürs Restaurant erstellt, welche ursprünglich aus verschiedenen Blättern, je nach Sparte, bestand. Die Endsummen der jeweiligen Blätter sind dann im Deckblatt "Total" zusammengefasst worden und mit Kreisdiagramm nochmal grafisch illustriert worden. Das ging so lange gut, wie ich nur das gemacht habe. Als ich einen Rezeptkalkulator in die Mappe eingebaut habe (Produkte nebst Mengen und Preisen sollen via Dropdownlisten in Rezeptblätter eingefügt werden. Man kann Rezepte umrechnen und jede Änderung in der Inventarliste (ein Produkt wird zum Beispiel neu von einem anderen Lieferant zu einem anderen Preis bezogen) soll im jeweiligen Rezeptblatt sofort die Kalkulation anpassen.
Problem dabei: mit einer Dropdownliste mehrere sich regelmässig verändernde Blätter zu durchsuchen. Als Zwischenschritt habe ich also eine weitere Liste hinzugefügt, welche sämtliche Inhalte der Sparten-Blätter zusammengeführt hat. Da ich aber berücksichtigen musste, das die Anzahl der Artikel der einzelnen Sparten immer mal schwankt, habe ich Leerzeilen vorgesehen, damit ich die Sammelliste (und damit den Bereich für die Dropdownlisten) nicht jedes mal verändern musste. Das wiederum führte zu einer enorm langen und schlecht durchsuchbaren Dropdownliste im Rezeptblatt.
Mir wurde dann hier im Forum vorgeschlagen, die einzelnen Spartenblätter aufzugeben und die Zähllisten (die werden zur Inventur von den Mitarbeitern mit Stift ausgefüllt) einfach aus der Hauptliste heraus zu erstellen.
Was möchte ich also machen? Die Liste, in der sämtliche Artikel aus allen Sparten drin stehen, muss in einzelne Listen zerlegt werden können. Und das wollte ich auf das Inventar anwenden, in dem ich das alte Rechnungsprogramm benütze, welches ja auch gezielt nach Namen die bunt durcheinander geschriebenen Rechnungspositionen finden und zu einer Liste (Rechnung) zusammenstellen kann.
Kommst Du so ungefähr draus, was ich möchte? :-)

Anzeige
AW: Makro Autofilter
26.02.2015 21:08:59
Debian
Hallo zusammen :-)
Hat jemand eine Idee zu meinem beschriebenen Problem? Ich weiss, ist jeweils doof, wenn man nix hochlädt, Das würd ich gern, aber noch mehr kann ich aus der Liste nicht rausnehmen, ohne das sie sowieso jegliche Funktionen verliert. Die ist im Moment zwar nur noch 421 kb "gross", aber damit immer noch zu gross, um sie hier hochzuladen :-( Wär super, wenn jemand einen Tip zu meinem Anliegen hätte.
Merci vielmal im Voraus.
Grüssle
Debian

AW: Makro Autofilter
27.02.2015 03:31:29
Debian
Habe die Datei so weit als möglich zusammengepresst und ausgeräumt. Bitte schauts euch mal an, ob ich was zu meinem Problem einfällt -)
https://www.herber.de/bbs/user/96024.xlsm
Grüssle :-)
Debian

Anzeige
AW: Makro Autofilter
27.02.2015 07:50:39
MCO
Hallo!
Hab deinen Beitrag leider übersehen.
Im Prinzip mußt du nacheinander Werte autofiltern, die dann kopieren, drucken oder beides, oder?
Werde es mal aufskizzieren, ungetestet:

filt_array = array("1","2","3","4","5","6","7")
for i = 0 to ubound(filt_array)
Range("A5").autofilter criteria1:=filt_array(i)
lz = Range("A" & rows.count.end(xlup).row 'letzte Zeile ermitteln
Range("A5:C" & lz).copy sheets(?).range("A5") 'kopieren - Ziel
'sheets(?).printout 'ggf drucken
next i
activesheet.showalldata 

------------------------------------------------------------------------
Zum Thema Dateigröße
Vielfach wird Speicherplatz durch leere, irgendwann mal benutzte Bereiche blockiert.
Diese Bereiche kannst du identifizieren, wenn du im VBA-Editor
? ActiveSheet.UsedRange.address(0,0)

eingibst. Vergleiche die Adresse mit den beschriebenen Bereichen und lösche (nicht "Entf") die Zeile bzw Spalten.
Lohnen würde das im Reiter Inventar nur 475 von 1581 Zeilen gebraucht oder Reiter Total (19 von 230 Zeilen)
Tip:
Ewig lange Fehler- und Verlaufsbeschreibungen halten eher davon ab, sie zu lesen. Ich hab auch keinen Nutzen darin gesehen, zu sehen was mal war. Einfach kurz das Problem beschreiben ggf. mit Arbeitsmappe.
Viel Erfolg noch!
Gruß, MCO

Anzeige
AW: Makro Autofilter
27.02.2015 09:09:04
Debian
Da hast Du sicher recht! Ich versuch immer, die Motivation dahinter klar zu machen, damit meine Gedankengänge ein STück weit nachvollziehbarer werden ;-)
Wie würde das also jetzt konkret ausschauen mit dem Filtern? Im Grunde soll es gleich funktionieren wie bei dieser Rechnungsmappe, nur eben dass das Blatt "Verkauf fortlaufend" in der Inventarmappe das Blatt "Inventar" wäre und das Blatt "Kundenstammdaten" nicht mehr abgefragt werden muss. Alle Daten nur aus der Inventarliste filtern und je nach Sparte als neues Blatt ans Ende der Mappe speichern
https://www.herber.de/bbs/user/96029.xls
Gruss:-)
Debian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige