Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS als Makro?

SVERWEIS als Makro?
28.08.2006 17:28:22
Stefan
Hallo,
benötige Eure Hilfe. Möchte aus einem Datensalat anhand des Suchkriteriums "Jahr" analog SVERWEIS die geeigneten Daten in einer Ausgabetabelle wiedergeben.
Der Datensalat ist ein eine Art Kassenbuch mit allen Ausgaben. Wir betrachten stattliche 10 Jahre, also 10 Einzeldatensalate. Jeder von denen setzt sich aus 13 Spalten (eine mit der Positionsbeschriftung und 12 Monate) zusammen. Die Zeilen bestehen aus 10 Positionen (=die Beschriftungen) für z.B. Ausgaben für Auto, Ausgaben für Miete ....
Sinngemäß so (upload bekomme ich gerade nicht hin):
A B C D E (das soll der Zeilen und Spaltenindex sein)
1 2006 Jan Feb Mrz ....
2 Auto 10 EUR ...
3 Miete ...
.. ...
11 Freizeile aus optischen Gründen
12 2007 Jan Feb Mrz ....
13 Auto 10 EUR
14 Miete
usw....
Von den 10 Jahren (2004 - 2013) möchte ich nun nur 3 beliebig wählbare Jahre weiter bearbeiten (zu viele Berechnungen, als dass ich diese für jedes Jahr durchführen möchte). Diese könnte man über SVERWEIS in eine Ausgabe- und Weiterrechnentabelle überspielen.
Problem: bei 10x10x12 Einzelfeldern habe ich eine Menge zum suchen bzw. sverweisen. Zudem komme ich mit der oben dargestellten Organisationsform (also das Jahr und Monat in der 1. Zeile und inkl. Freizeile nicht mit SVERWEIS hin.
Kurzum, ich benötigen ein Makro, dass die Tabellen anhand des Jahres erkennt und dann die nächsten beiden auch noch übergibt. Das ganze soll dann in eine separate Registerlasche gespielt werden.
Falls Freizeile und 10x wiederholte Monatszeile in der Datenmatrix ein Problem sind, könnte ich darauf verzichten, wenns der Funktionalität dient. Nur muss dann irgendwo das Jahr stehen.....
Wäre echt Klasse, wenn das jemand hin bekäme, so ich mein Problem denn verständlich genug beschrieben habe.
Tausend Dank, Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS als Makro?
28.08.2006 20:15:02
P@ulchen
Hallo Stefan,
"...upload bekomme ich gerade nicht hin..."
Woran scheitert es? Entweder ist Deine Datei zu groß oder der Pfad zu Deiner Datei ist zu lang (zu tief verschachtelt).
Komprimiere die Datei und lade sie hoch. Sollte die Datei noch immer zu groß sein, kannst Du sie zB. auch hier hochladen: http://www.files.to/upload.php
Dein Problem scheint doch etwas komplexer zu sein, wenn du hier wirklich Hilfe erwartest, solltest Du den Antwortern möglichst viele Detailinfo´s liefern...
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: SVERWEIS als Makro?
28.08.2006 22:01:55
ingUR
Hallo, Stefan,
so recht wis ich auch nicht, was eigentlich der Sinn dieser Aktion sein könnte oder ob ich Dein Vorhaben in all seinen Einzelheiten verstanden habe, da ich nicht erkennen kann was Du mit dem SVerweishinweis bezecken wolltest; da muß ich dann P@ulchen schon recht geben, dass eine Beispielmappe hilfreich wäre.
Hier einmal eine Lösung für die Aufgabe, wie ich sie verstanden habe
https://www.herber.de/bbs/user/36241.xls
Das Makro überträgt drei aufeinaderfolgende Jahrgänge von Tabelle "Eintragung" zur Tabelle "Auswerten" (Startdes Zielbereiches ist die Zelle A1). Die Eingabe des Startjahres erfolgt über die Inputbox.
Sollte jedoch Ziel sein, in das Auswahlblatt bereits berechnete Werte einzutagen, dann kann diese Mappe vielleicht als Auddgangsmappe genutzt werden.
Gruß,
Uwe
Anzeige
AW: noch ´ne Frage zu SVERWEIS als Makro?
29.08.2006 09:37:26
Stefan
Hallo Uwe,
danke für Deine Lösung, genau was ich suche. Wie bekomme ich denn eine msgbox hin, die immer sichtbar ist, wo drinn steht:
"Bitte geben Sie das Jahr ein: [Eingabefeld]" Wenn ein Jahr eingegeben wurde, sollen die Daten aus Register "ERfassung" anhand des Jahres in "Auswahl" rübergebeamt oder kopiert werden.
Wäre toll, wenns Ihr da noch was wüsstet.
p@ulchen, Upload lag wohl am Server.
Danke schon mal im Vorfeld. Stefan
PS: Ich find das Forum toll. Hat mir schon oft in (mehr oder weniger) kniffligen Problemen weitergeholfen. Bin begeistert.
Leider ein Mißerfolg, nochmal von vorne
29.08.2006 10:43:23
vorne
Hallo Ihr zwei,
hat leider nicht geklappt, da z.B. 2010 nicht eingegeben werden kann = Fehlermeldung wird ausgelöst.
Hoffe, das klärt manches.
https://www.herber.de/bbs/user/36251.xls
Danke für Eure Hilfe
Stefan
Anzeige
AW: Leider ein Mißerfolg, nochmal von vorne
29.08.2006 11:09:07
vorne
Siehe Frage oben, noch offen button vergessen, sorry
AW: Leider ein Mißerfolg, nochmal von vorne
29.08.2006 16:40:23
vorne
Hallo, Stefan,
generell ist es nicht möglich eine EXCEL-MsgBox permament aktiv (geöffnet) zu halten, da während dieser Zeit, andere alle anderen Ausführungen dieser anwendung abgeblockt werden, bis die Box geschlossen wird und die Anwort ggf. verarbeitet werden kann. Zudem ist eine MsgBox auch nicht dafür gedacht, eine andere Eingabe, als die mit den Schaltflächen verknüpften, zu akzeptieren.
Wenn ich Deine Anordnung einer CommandButtons und eines Texteingabefeldes richtig interpretiere, dann Schwebt Dir so etwas wie ein Dialogfenster (UserForm) vor.
Gut, hier könnte sich so einiges optisch hintricksen, doch vielleicht sollten die ersten Schritte - so vermute ich doch wohl richtig - übersichtlich gestaltet werden.
Daher: Genügt es nicht, eine Zelle auf dem Blatt "Ausgabe" zu haben, in der Du das gewüschte Startjahr einträgst und dann einen Startknopf (Commandbutton1) betätigst, der den Kopier- und Formatiervorgang in die Wege leitet?
Um dieses umzusetzen, sind nur ein Paar Ergänzungen und Abänderungen notwendig.
Zuvor solltest Du Dir jedoch darüber im Klaren sein, das Textfelder und CommandBotton eigenständige Steuerelemente sind, die auf Ereignisse prinzipiell erst einmal unabhängig von einander reagieren. Das Textfeld reagiert auf das Ereignis Texteingabe, der CommandButton auf das Ereignis "Klick" innerhalb der von ihm gefüllten Rechteckfläche. Und so kommt es auch, das der CommandButton in den Vordergrung gerät sobald er virtuell gedrückt wird und damit dasd Textfeld in Deinem Vorentwurf verdeckt.
Vorerst also soll nur das Ereignis "CommandButton-Klick" behandelt werden.
Wenn Du die beigefügte Mappe öffnest, auf das Tabellenblatt "Ausgaben" wechselst und dort den Entwurfsmodus aktivierst, dann Doppelklick anschließend auf die Schaltfläche "Ok" (CommandoButton), so dass Du in den Worksheets("Ausgabe")-VBA-Code gelangst.

Private Sub CommandButton1_Click()
EingabeBereichNachAusgabeBereichKopieren
End Sub

Allein für diesen CommandButton1 auf dieser Tabelle "AUsgaben" (Private) wird für den Fall, dass er angeklickt wird, diese Procedur aufgerufen, Der Programmcode besteht aus einer Zeile, EingabeBereichNachAusgabeBereichKopieren, dem Aufruf der eigentlichen "Arbeitsroutine", die Du im Modulordner des VBA-Projektes unter Modul1 abgelegt findest. Wenn Du mit der Schrittweisen Ausführung eines Programmes vertraut bist, dann kannst Du auf den Aufruf EingabeBereichNachAusgabeBereichKopieren ein Stopp legen ([F9]; erneutes [F9] hebt die Stoppwirkung auf).
Soblad der Programmteil aktiviert wird, hält das Programm an jedem gesetzten Stopp, sobald er diesen im Verlauf auch erreicht. mit der Funkttionstaste [F8] kannst Du nun jeden VBA-Programmschritt des Programmes einzeln auslösen.
Nun wieder in der EXCEL-Tabelle, kannst Du das Eigenschaften-Fenster des commandButtons aufrufen. Hier gibt es, neben weiteren Eigenschaften, die Eigenschaft "Caption". in das rechte Feld, neben der Eigenschaftsbenennung, kannst Duz eine Eigenschaft eintragen, in diesem Fall die Eigenschaft Test auf der Schaftfläche (gleiches hätte man auch in der VBA-Umgebung erreichen könnne, da es dort auch das gleiche Eigenschaftenfenster gibt).
Sobald der Entwurfsmodus ausgeschaltet ist und eine Jahreszahl eingegeben ist, kann der OK-Button gedrückt werden. Mit dem Haltepunkt, stoppt da Programm an gekennzeichneter Stelle. Wenn Du nun schrittweise das Programm durchgehst und versuchst den Code zu lesen, dann wirst an doie Stelle kommen, die Dir die Erklärung gibt, warum derzeit das Jahr 2010 nicht als Startjahr akzeptiert wird.
Ein wesentlicher Teil des Umbaues betraf die Suche nach den Bereichgrenzen der drei Jahre, da Du die Funktionalität derListenerweiterung einbauen wolltest. Vielleicht kannst Du nachvollziehen, wie ich diesen Punkt gelöst habe und warum Du nun in der Eingabe-Tabelle am belibiegen Steilen Zeilen Einfügern oder auch löschen kannst.
https://www.herber.de/bbs/user/36266.xls
Viele Erkenntnisse!
Gruß,
Uwe
Anzeige
Danke, siehe Text
30.08.2006 08:39:56
Stefan
Hallo Uwe,
muss das erst einmal sacken lassen. Ist noch etwas hoch für mich. Danke auch für die kleine Schulung.
Deine Lösung mit der Jahreseingabe ist vollkommen ok.
Immerhin funktioniert das System so, wie ich´s wollte. Lediglich bei den letzten 3 Jahren hackt es noch wait and see.
Nachdem ich das ganze voll durchdrungen habe, würde ich mich freuen, wenn Du mir hier und da ggf. noch ein paar Tipps geben könntest. Vielleicht beschränkt es sich dann nur noch auf EInzelfragen und keine Komplettlösungen. So, jetzt an die Arbeit...
Danke für die große Hilfe.
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige