Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilter-Ersatz

Autofilter-Ersatz
28.02.2003 00:53:41
TE
Guten Morgen zusammen,

ich brauche mal logische Unterstützung für folgendes Problem:

In einer Tabelle A51:L5000 stehen in Spalte E in bunter Mischung Werte aus einer begrenzten Menge (z.B. 12 Elemente - hier: Kostenstellen):


wert1
wert5
wert7
wert2
wert2
wert1
wert3
wert7
wert4
wert1
wert1
wert1
wert4
wert4
wert5
.
.
.
Jeden Tag kommen einige Einträge aus der begrenzten Menge dazu; jede Woche werden ganze Abschnitte der nun gefüllten Tabelle in der noch leeren Spalte L mit einem Kriterium (ZahlungsEingangsDatum) gekennzeichnet.

Per VBA möchte ich eine Auswertung der vertretenen Werte (Kostenstellen) nach Kriterium in L (ZahlungsEingangsDatum) erstellen.

Nun könnte ich (die Menge ist ja eigentlich begrenzt und die Werte eigentlich definiert) mit IF oder CASE zu einem Ergebnis kommen, hier müsste ich aber jeden der möglichen Werte im Code haben.

Eleganter (und im Falle der Änderung eines der möglichen Werte - kommt zwar nur sehr selten vor... - weiterhin funktionstüchtig) wäre doch aber, die Vergleichswerte für E nicht als Konstanten im Code zu haben, sondern sie vorher aus dem betreffenden Abschnitt der Tabelle einzulesen. (Betreffender Abschnitt: Kriterium in L stimmt mit Vergleichskriterium überein, wobei diese Übereinstimmung nur blockweise auftreten wird)

Also: mit welchem Algorithmus bekomme ich a)die Anzahl "a" und b)die jeweiligen Inhalte "wertn" der verwendeten Werte ?
Endziel ist, in VBA zur weiteren Verarbeitung nun "a" Variablen zu haben, die jeweils einen der im betreffenden Abschnitt vertretenen Inhalte "wertn" zum Inhalt haben.

Zum Verständnis: bisher nehme ich den Autofilter, filtere erst nach L und dann so oft nach E (mit anschliessendem rauskopieren der kompletten Zeilen), wie verschiedene Werte der Filterliste von E vorhanden sind - mit angefragtem Algorithmus soll ähnliches erreicht werden.

Wenn man die einzelnen Einträge in einer Autofilter-DropDown-Liste per VBA anspringen könnte (per Index oder so) wäre das natürlich auch machbar...

Herzlichen Dank für`s MitDenken

Thomas


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Autofilter-Ersatz
28.02.2003 16:18:59
Urs

Hallo Thomas,
beiliegend eine Möglichkeit für Autofilter.
Du musst dir eine Formular (Frame) basteln mit einer Combobox (cmBoxKürzel) und 2 Commandbuttons (CmdButAbbr, CmdButOk).
Bei diesem Beispiel befinden sich die Vergleichswerte in der ersten Tabelle Bereich A1 bis A5. dort könntest Du dann auch Änderungen der Vergleichswerte wenn nötig anpassen.
Auf der aktivierten Tabelle befinden sich in Spalte A die zu filternden Werte.
In ein Modul eine kleine Sub schreiben (DeinFramename.show) und einer Schaltfläche zuweisen

Gruss
Urs

Re: Autofilter-Ersatz
28.02.2003 22:43:46
Thomas

Hm,obwohl ich glaube, dass das nicht ganz das ist, was ich wollte, danke ich Dir erstmal ganz herzlich für Deine Antwort.
Es ist auch nicht leicht, dass zu beschreiben, was ich will.
Ich werde mir trotzdem einige Anregungen aus Deiner Antwort mal in Ruhe auf der Zunge zergehen lassen.

Solltest Du weiterhin Interesse an meinem Problem haben, sende ich Dir gerne mal die Datei, die es schlussendlich auszuwerten gilt und erzähle Dir die komplette Geschichte dazu, dass macht es vielleicht einfacher - hier im öffentlichen Bereich ist das vielleicht unangemessen.

Trotzdem herzlichen Dank

kopfrauchender TE

Anzeige
Re: Autofilter-Ersatz
01.03.2003 01:34:15
Urs

Hallo Thomas,
ich habe mir die Aufgabenstellung nochmals angeschaut. Soweit daneben liegt das ganze nicht, muss aber natürlich noch angepasst werden.
Die (gegebenenfalls variablen) Kostenstellen würde ich in einer seperaten Tabelle auflisten und sie von dort einlesen.
Bevor der Frame aufgerufen wird die Tabelle nach Spalte L filtern (evtl. über Inputboxen von / bis Datum) und dann im 2. Schritt nach Kostenstellen.
Falls alle nichtleeren Zellen in Spalte L angezeigt werden sollen kann dies gleich noch miteingepackt werden.
2 kleine Fehler haben sich noch eingeschlichen bei mir Kuerzel as Variant und nicht integer und Unload me erst am ende des cmdButOK sub's eintragen.
Ich schick Dir ein Beispiel per e-mail
Gruss
Urs

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige