# Excel: Brauche sehr dringend ein Makro, kann aber nicht VBA programmieren...



## dr_orange (7. September 2005)

Hallo allerseits!

Ich bin in einer Notsituation: Ich kann VBA nicht programmieren, brauche aber sehr sehr dringend ein Excel Makro. Ich wäre euch sehr dankbar, wenn ihr mir hier helfen könntet. Sehr hilfreich wären z.B. Internetseiten, wo ich das VBA-Programmieren lernen kann. Am besten wäre es natürlich, wenn ihr mir schon einen Makro-Rohbau programmieren könntet und ich dann das Anpassen an mein Dokument vornehmen kann... 
Ich wäre euch dafür sehr dankbar, ich bin wirklich in einer Notsituation...

Hier die genaueren Informationen:

Ich habe ein Excel-Dokument, das weniger eine Kalkulation als mehr eine Datenbank ist. Bisher habe ich zwei Register (ich hoffe man nennt die Felder unten Links so), die ich nicht zusammenführen darf. Nun meine Vorstellung: Ideal wäre es, dass wenn man im Register 1 auf eine bestimmte Zelle klickt, ein neues Fenster erscheint, welches aktiv ist, das dahinterliegende Register aber nicht überdeckt. Alternativ, aber weniger gut könnte das Klicken auf das bestimmte Feld auch einfach auf das nächste Register wechseln.

Das Nun erscheinende Fenster beinhaltet eine sich im 2.Register befindende Tabelle. Die Zelle, auf welche man geklickt hat, filtert eine Tabelle unter bestimmten Gesichtspunkten: Die Tabelle sollte nur jene Einträge darstellen, die in der Spalte 3 einen bestimmten Wert X enthalten. Wenn ich im Register 1 auf eine andere definierte Zelle klicke, soll wieder ein Fenster aufgehen mit derselben Liste, allerdings sollen nur jene Einträge dargestellt werden, welche in der Spalte 3 einen anderen Wert Y beinhalten. 
Ich würde also bestimmte Zellen im Register1 definieren, die beim erscheinenden Fenster die Liste in einer bestimmten Spalte filtern. Gut wäre es, wenn die andern Spalten alphabetisch sortiert würden. Priorität 1 bei der alphabetischen Sortierung würde Spalte 1 haben, Priorität 2 die Spalte 2.  

Ich hoffe, bis hierhin konnte ich es einigermassen verständlich formulieren...

Ferner sollte die sich im neuen Fenster befindende Tabelle, wenn man auf eine in ihr enthaltene Zelle klickt, die Tabelle neu filtern. Und zwar sollte die Spalte, in der sich die Zelle befindet nach dem in der Zelle sich befindenden Wert sortiert werden.

Zusätzlich, aber nicht zwingend notwendig wäre noch folgendes sinnvoll: Wenn ich auf eine Zelle in der Spalte3 klicke, sollten wie gesagt nur diejenigen Einträge dargestellt werden, die eben den Wert der besagten Zelle in der Spalte3 enthalten. Zusätzlich wäre es gut, wenn der Priorität nach die Spalte1 und dann die Spalte2 alphabetisch sortiert würden. Wenn ich auf ein Feld in der ersten Spalte klicke, sollten der Priorität nach die Spalte 3 und dann die Spalte 2 alphabetisch sortiert werden. Bei einem Klick auf eine Zelle in der Spalte 2 würden der Priorität nach zuerst die Spalte 3 dann die Spalte 1 alphabetisch sortiert.

Und jetzt könnte es tricky werden, deswegen ist dieser Punkt nicht zwingend notwendig, würde aber durchaus Sinn machen und dem ganzen etwas Professionalität verleihen.. :
Da ich in diesem System bisher sehr viele Einträge erstellen müsste, die nur in der Spalte 3 varieren, wäre das ganze System hochglanzpoliert, wenn ich quasi die Spalte 3 vervielfältigen könnte, so also nur einen Eintrag, aber dafür mehrere Spalten nebeneinander, die die verschiedenen Variationen enthalten. Bsp:

Spalte1   Spalte2    Spalte 3   Spalte 4   Spalte 5    Spalte 6
Hans       Ueli         X              Y            Z               19.5.1956

anstatt:

Hans       Ueli        X               19.5.1956
Hans       Ueli        Y              19.5.1956
Hans       Ueli        Z               19.5.1956
usw.

Das System muss aber alle "Alternativspalten" nach den darin enthaltenen Werten durchsuchen und ordnen können:
Wenn ich z.B. beim Eintrag "Hans Ueli" auf den Wert Y in der Spalte4 klicke, sollte das System die Liste auf alle Einträge untersuchen, die Y in entweder der Spalte 3, 4 oder 5 enthalten, diese dann auflisten, aber nur mit Y in der Spalte 3; Spalte4 & 5 sollten ausgeblendet werden.

Alternativ könnte man das auch so handhaben, dass das System die jeweiligen Einträge in den Spalten durchsucht und diese dann auch ohne ausblenden der Spalten ohne Wert Y darstellt. Besser in dieser Alternative wäre es, wenn das System den Wert Y zuvorderst, also in der Spalte 3, darstellt, und die andern hinten anhängt (eventuell alphabetisch...)


So, ich hoffe das ist überhaupt machbar mit VBA.
Ich danke euch sehr für eure Hilfe!

Wenn das klappt... Ich umarme die Welt!

Herzlichen Dank nochmals
Lukas


----------



## gabrielgsell (7. September 2005)

Hallo

Ich hab dein Text nur überflogen, aber wäre hier ein Programm (Access?) das auch für Datenbanken gedacht ist nicht besser? Denn ich denke so schnell schreibt hier keiner ein Makro für dein Problem.

Grüsse Gabriel


----------



## Jacka (12. September 2005)

Hi!

Also auf http://www.excel-inside.de/ 
gibt es unter der Rubrik VBA/Sonstiges eine "Broschüre" (125 Seiten) von der FernUni Hagen. Als Grundlage gar nicht schlecht.

Ansonsten kann ich dir die Bücher von Bernd Held empfehlen.
Da wusel ich mich auch gerade durch!

Ob dir das allerdings so schnell weiter helfen wird bezweifel ich, denn dein Vorhaben scheint mir doch recht komplex (so ließt es sich zumindest beim Ersten drüber huschen...).

Grüße,
Jacka


----------

