Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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

flexibles sverweis makro

flexibles sverweis makro
07.09.2008 22:22:00
eddie
Hallo zusammen,
ich habe ein Problem, welches glaube ich genau so schwierig zu erklären wie zu verstehen ist.
Ausgangslage ist folgende:
Ich arbeite in einer Datei mit mehreren Tabellenblättern, wobei zwei dieser Tabellenblätter Gegenstand der Betrachtung sein sollen. Bei beiden Tabellenblättern („Eins“ und „Zwei“) ist die Spalte A die entscheidende.
Im Tabellenblatt „Eins“ befinden sich in Spalte A untereinander Ziffern, die nach folgendem Schema angeordnet sind.
Die Ziffernreihe beginnt in A2 mit der Ziffer 10. In A3 befindet sich die Ziffer 11.
In A4 folgt die Ziffer 20, in A5 die 21. Es sind also immer Zehnerschritte mit einer folgenden, um eine Ziffer erhöhte Zahl.
Das geht so bis zur Ziffer 990, gefolgt von 991.
Im Bereich der Zahlen von 1000 bis 1999 stehen immer 3 Ziffern untereinander,
beginnend mit 1010, 1011,1012 bis zur 1990, 1991, 1992.
Im Bereich der Zahlen von 2000 bis 2999 stehen immer 4 Ziffern untereinander,
beginnend mit 2010, 2011, 2012, 2013 bis 2990, 2991, 2992, 2993
Im Bereich der Zahlen von 3000 bis 3999 stehen immer 5 Ziffern untereinander,
beginnend mit 3010, 3011, 3012, 3013, 3014 bis 3990, 3991, 3992, 3993, 3994.
Im Bereich der Zahlen von 4000 bis 4999 stehen immer 6 Ziffern untereinander,
beginnend mit 4010, 4011, 4012, 4013, 4014, 4015 bis 4990, 4991, 4992, 4993, 4994, 4995.
Im Bereich von 5000 bis 5999 stehen immer 6 Ziffern untereinander,
beginnend mit 5010, 5011, 5012, 5013, 5014, 5015, 5016 bis 5990, 5991, 5992, 5993, 5994, 5995, 5996.
Im Bereich von 6000 bis 6999 stehen immer 7 Ziffern,
beginnend mit 6010, 6011, 6012, 6013, 6014, 6015, 6016, 6017 bis 6990, 6991, 6992, 6993, 6994, 6995, 6996, 6997.
So, hier endet die jeweilige Erhöhung.
Dazu gibt es noch einen Sonderbereich von Ziffern, die darunter stehen. Diese erstrecken sich über den Zahlenbereich von 30000 bis 85000, wobei in dem Bereich wirklich nur ca. 200 Ziffern vorkommen. In diesem Bereich wird – genau wie zu Beginn – immer nur um eine Ziffer erhöht.
Der Zahl 32500 ist also lediglich die 32501 direkt in der nächsten Zeile zugeordnet, der 72510 nur die 72511.
Hört sich gewaltig an, ist es aber nicht, es sind nur 1500 Zeilen mit Zahlen versehen.
Auf diese Ziffern in der Spalte A des Tabellenblattes Eins möchte ich mich nun im Tabellenblatt Zwei, ebenfalls in Spalte A und ebenfalls in A2 beginnend, beziehen.
Das soll folgendermaßen funktionieren.
Wenn ich in A2 von Tabellenblatt Zwei die Ziffer z.B. 50 eingebe, soll Excel in A3 automatisch die Ziffer 51 eintragen, da der 50 ja die 51 zugeordnet ist.
Trage ich dann z.B. in A4 die Ziffer 1060 ein, soll in den nächsten beiden Zeilen der Spalte A automatisch die 1061 und 1062 eingetragen werden.
Trage ich dann in A7 die Ziffer 6160 ein, soll Excel automatisch die zugeordneten Ziffern aus Tabellenblatt Eins, nämlich die 6161, 6162, 6163, 6164, 6165, 6166, 6167 zuordnen.
Excel sucht also die eingegebene Ziffer in Spalte A von Tabellenblatt Zwei ( es ist immer eine Zahl mit einer 0 am Ende), geht dann in Tabellenblatt Eins, schaut dort, wie viele Ziffern jeweils zugeordnet sind und trägt diese exakt in Spalte A von Tabellenblatt Zwei ein.
Es ist so ähnlich wie ein sverweis, nur, dass er flexibel sein muss.
Ich hoffe, Ihr habt mich verstanden und könnt mir – wie so oft – helfen.
Danke
Manfred

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: flexibles sverweis makro
08.09.2008 02:34:14
dirkraeder
Hallo Eddi,
ich habe dir eine kleine Datei gebastelt!
https://www.herber.de/bbs/user/55239.xls
Ich hoffe, das es dir weiterhilft.
Hinweis:
Als erstes musst du in den Visual Basic Editor gehen.
Starte das Macro im Tabellenblatt "Eins"
Verlasse den Editor wieder und wechsele ins Tabellenblatt "Zwei"
Dort tätigst du irgendwo in der Tabelle deine Eingabe z.B.: 4010, danach musst du die Zelle verlassen und dann wieder auf die Zelle gehen (ActiveCell).
Dann drücke den CommandButton
Gruß
Dirk
AW: flexibles sverweis makro
08.09.2008 18:48:08
eddie
Hallo Dirk,
so klar ist es noch nicht.
Wenn ich es richtig sehe, soll ich erst in deiner Beispieldatei einen auszug der Zahlen in Tabelle Eins Spalte A eingeben.
Wenn ich dann in Tbl. Zwei eine der Ziffern mit einer Null am Ende eingebe, aus der Zelle gehe, diese wieder anklicke und dann auf den Button klicke, funktioniert es?
Wenn nicht, dann bitte noch einmal ganz langsam erläutern.
Übrigens gestern ist mir eingefallen, dass es ja auch reichen würde, wenn ein Makro im Tabellenblatt Zwei direkt bei einer zeistelligen Zahleingabe mit einer 0 am Ende, die nächst höhere in der gleichen Spalte, eine Zeile tiefer schreiben würde.
Bei einer dreistelligen Zahleingabe mit einer 0 am Ende, sollten die nächsten beiden Ziffern direkt darunter geschrieben werden usw.
Der Bezug auf Tabellenblatt Eins ist ja total überflüssig.
Klappt das auch?
Danke und viele Grüße
Manfred
Anzeige
AW: flexibles sverweis makro
08.09.2008 20:52:48
Dirk
Hallo Eddi,
Ich habe die Datei überarbeitet.
https://www.herber.de/bbs/user/55257.xls
Also nochmal,
öffne die Datei, drücke im Tabellenblatt "Eins" den CommandButton
das Macro schreibt dann die Nummern ab Zelle A2, so wie du es beschrieben hast.
Gehe nun ins Tabellenblatt "Zwei"
Gehe nun in die Spalte A
Nun gebe ab Zelle A2 eine Zahl ein. z.B.: in Zelle A3 die Nummer 4020 ein.
Du musst die Zelle nun abschließen, d.h. durch drücken der Eingabe- oder Tabtaste
Dadurch wechselst du aber in eine andere Zelle
Kehre nun in wieder in die Zelle A3 zurück.
Dies ist notwendig, da das macro den Wert der aktifen Zelle (ActiveCell) als Suchbegriff benötigt.
Drücke nun den CommandButton
Nun erscheint in A4 4021 - A8 4025.
Teste es.
Zu deiner Frage:
Stehen in deiner Tabelle hinter den Zahlen in Spalte B noch andere Werte?
Im Prinzip kann man den Vorgang auch in einem Tabellenblatt abhandeln.
Wenn du noch Hilfe brauchst, ich habe Nachdienst und bin online,
werde dann versuchen dir weiterzuhelfen.
Bitte beschreibe dann genau wie das in dem Tabellenblatt aussehen soll.
Gruß
Dirk
Anzeige
AW: flexibles sverweis makro
08.09.2008 22:43:48
eddie
Hallo Dirk,
ich habe deine mail gerade geöffnet und deinen Weg noch nicht getestet, liest sich aber einfach.
Zu der Frage der Spalte B:
Sowohl in Tabellenblatt Eins als auch Zwei stehen in Spalte B bis D Texte, bzw. Werte, die ich mir, ausgehend von Zwei per sverweis, kombiniert mit ein paar Bedingen aus Eins heraussuche.
Deshalb muss dieses makro nicht umbedingt den Zusammenhang zu Eins herstellen.
Wichtig sind in Zwei die Ziffern in A, über diese Ziffern kann ich mir die benötigten Zellinhalte aus Tbl. Eins mittels Suchfunktion herausholen.
Also wäre ein Umschreiben des makros sinnvoll und toll.
Sei bitte nicht böse, wenn ich deine evtl. Antwort heute Nacht nicht mehr beantworte, aber ich muss morgen um 6:00 Uhr raus. An der gesamten Excelanwendung arbeite ich übrigens schon seit einem Jahr.
An vielen Ecken habe ich bisher getrickst, jetzt soll die Sache aber galant ohne Umwege gelöste werden, deshalb bin ich für Hilfe äußerst dankbar.
Danke und halte die Augen offen
Manfred
P.S. Ich habe noch Fragen für mehrere Nachtschichten
Anzeige
AW: flexibles sverweis makro
08.09.2008 22:53:00
eddie
Hallo Dirk,
hab es gerade getestet, läuft super.
Damit ich später keine Probleme mit dem makro bekomme:
Das Tabellenblatt Zwei heißt "im wirklichen Leben" "Aufgabe1", das Tabellenblatt Eins "Geschäftsfälle Original". Falls du also das makro umschreibst nur für "Aufgabe1" benutze sofort die richtigen Tabellennamen.
By the way:
Kann man das makro auch so erweitern, dass es, wenn man z.B. die 5020 eingegeben hat und excel die dazugehörigen Ziffern eingefügt hat, in die nächste leere Zelle in Spalte A springt, würde doch die Eingabe wesentlich erleichtern?
Grüße und zunächst danke für das makro
Manfred
Anzeige
AW: flexibles sverweis makro
08.09.2008 22:57:00
eddie
Noch ein letztes, Dirk,
in dem Tabellenblatt "Eins" stehen aber nicht alle Ziffern von 10 bis 85000. Es sind immer nur eine bestimmte Anzahl. Ich gehe einmal davon aus, dass das dem makro egal ist, oder?
Gruß
Manfred
AW: flexibles sverweis makro
09.09.2008 02:49:29
Dirk
Hallo Manfred,
Ich habe die Datei angepasst! :-)
https://www.herber.de/bbs/user/55259.xls
Also, ich habe folgensdes gemacht:
- Die Namen der Tabellenblätter habe ich geändert
- nach dem Ausfüllen der Zellen mit Nummern springt Excel in die nächste leere Zelle in Spalte A
- Ich habe den Code so geändert, dass auch die Daten bis Spalte D im Tabellenblatt "Aufgabe1"
geschrieben werden
Eigentlich finde ich es ganz sinnvoll per Macro auf das andere Tabellenblatt zuzugreifen, da du dadurch ein unabhängiges Eingabeblatt und ein Auswertungsblatt hast.
Mit dem neuen Macro kannst du dir vielleicht auch den SVERWEIS sparen!?
Zu deiner letzten Frage:
Es ist völlig egal welche Zahlen im Tabellenblatt "Geschäftsfälle Original" in Spalte A stehen.
Ich brauchte die Zahlen, um das Macro zum filtern zu testen.
Leider kann ich die Zahlen auch nicht drin stehen lassen, weil sonst die Datei so groß wird, dass ich sie nicht auf diesen Server laden kann (kleiner 500kb). Deshalb stelle ich die Datei "leer" auf den Server.
Aber mit einem Knopfdruck hast du die Zahlen und kannst somit die Datei testen.
Also wie gehabt:
Nach dem Öffnen der Datei per Knopfdruck die Zahlen schreiben, ins andere Tabellenblatt wechseln und in Spalte B ab Zeile 2 die Eingabe (Suchbegriff) tätigen. wieder auf die Zelle und Knopfdruck.
Ich habe im Tabellenblatt "Geschäftsfälle Original" in den Zeilen 2780-2787 und Spalten B-D Daten eingetragen.
Probier bitte folgendes aus:
gebe 6100 ein und betätige den CommandButton
Nun sollte er auch die Daten in den Spalten B-D hinter die Zahlen schreiben.
Ich hoffe ich konnte dir ein Stück weiter helfen.
Bin morgen Abend wieder im Forum.
Gruß
Dirk
Anzeige
AW: flexibles sverweis makro
09.09.2008 18:42:26
eddie
Hallo Dirk,
ich habe dir einmal einen Teil der Datei kopiert, daraus wird ersichtlich, wie ich es meine. Im Moment klappt es mit deiner Datei noch nicht noch nicht.
https://www.herber.de/bbs/user/55286.xls
Wie du siehst, kann sogar per makro alles bis Spalte F übertragen werden.
Bei deiner Tabelle funktioniert es aber nicht. Selbst wenn ich etwas eintrage klappt es nicht. Deinen Eintrag in 2780 ff sehe ich nicht.
Vielleicht versuchst du es ja einmal mit dem Tabellenauszug. Das erste Tbl. ist in der richtigen Datei noch länger.
Jetzt musst du in der ersten Tabelle auch keine Ziffern mehr erzeugen, du kannst dich auf die bestehenden berufen.
Ich möchte also eine der fettgedruckten Ziffern aus Geschäftsvorfälle 'Original in Aufgabe1 in Spalte A beginnend ab A2 eingeben und der Rest (B bis F) soll dann erscheinen.
Optimal wäre es, wenn dann das makro in die nächste leere Zelle springt und vielleicht ( im konkreten Fall unter dem ersten buchungssatz, so nennt man das, am unteren Rand der Zeile 4 ein dünner strich bis F gezogen wird). Wenn das nicht klappt, wäre es nicht so schlimm. Doch dann könnte "ich" optisch alle Buchungssätze trennen.
Versuche dein Glück
Danke
Manfred
Anzeige
AW: flexibles sverweis makro
10.09.2008 03:52:47
Dirk
Hallo Manfred!
Ich habe mein Glück versucht und ich glaub ich habe es ganz gut hinbekommen. :-)
(p.s.: i will do my best)
Alsooooooooooo,
Ich habe in deiner Datei das Macro geschrieben und habe das Macro so angepasst, dass:
- es alle Daten bis Spalte F kopiert
- unter dem letzten Eintrag eine Linie gezogen wird
- die nächste Zelle in Spalte A markiert ist
- die Zellformatierungen im ausgefüllten Bereich sich automatisch verändern
- du eine zusätzliche Schaltfläche hast, um den markierten Bereich zu löschen und die Formatierung
zurückzusetzten (makiere die Zellen, die du löschen möchtets)
Ich hoffe, ich habe an alles gedacht
Hier die neue Datei
https://www.herber.de/bbs/user/55290.xls
Teste sie ausgiebig und berichte mir bitte ob alles klappt oder ob du noch Änderungen haben möchtest.
Ich habe noch 2 Nächte Nachtdienst! :-)
Habe also noch Zeit Änderungen vorzunehmen.
Gruß
Dirk
Anzeige
AW: flexibles sverweis makro
10.09.2008 18:32:24
eddie
Hallo Dirk,
sieht gut aus, klappt auch prima.
3 Kleinigkeiten für die vorletzte Nachtschicht:
- Die Linie unterhalb der ersten Zeile geht bis Unendliche, die bekomme ich auch so einfach über formatieren nicht weg. Diese Linie auch nur bis F ziehen.
- Ist es möglich, dass man - nach oder mit "Datensatz suchen" automatisch die Zellen der Spalte B verbindet? Wenn du die Nummer 180 z.B. aufrufst, eine Zellverbindung von B2 und B3 mit anschließender vertikaler Zentrierung des Textes? Diese werden in der richtigen Aufgabenstellung relativ lang und befinden sich im Moment nur in der ersten Zeile.
-Wenn man z.B. den Datensatz 180 aufruft, danach in "Geschäftsfälle original" geht, die Eurowerte verändert, passen sich die Werte in "Aufgabe1" nicht an.
Wenn das alles klappt, wäre es toll.
Und danach müssern wir uns einmal unterhalten, wie oft du Nachtschicht hast :-)
P.S. Kann man das makro auch so einstellen, dass es - bezogen auf das Tabellenblatt "Aufgabe1" direkt alle benötigten ziffern und Datensätze "raushaut"?
Das wäre dann eine Schaltfläche weniger.
Ich hoffe, dir macht es auch Spaß, in der Nacht an derartigen Aufgaben zu "stricken".
Danke erst einmal
Manfred
Anzeige
AW: flexibles sverweis makro
11.09.2008 05:12:09
Dirk
Guten Morgen Manfred,
ich habe folgendes geändert:
- der Datensatz wird nun automatisch nach Eingabe der Zahl kopiert (ohne Schaltfläche)
- die Zellen der Spalten B und C werden automatisch verbunden und der Inhalt zentriert
- wenn im Tabellenblatt "Geschäftsvorfälle Original " Änderungen vorgenommen werden und du wieder ins Tabellenblatt "Aufgabe1" wechselst, werden die Daten korrigiert.
- die Bedingte Formatierung der Spalte C geht leider durch das Verbinden der Zellen verloren, habe dies nun in VB realisiert. d. h.: steht in der Zelle "ohne Mehrwertsteuer" ändert sich die Schriftfarbe
- ich habe die Spaltenbreite der Spalte B vergrößert, die Zeilehöhe durch das Verbinden der Zellen sich nicht mehr automatisch vergrößert
Nun zu der nicht enden wollenden Linie unterhalb der Zeile 1:
Ich habe das Fester fixiert, dadurch bleiben die Spalten A-F und die Zeile 1 immer sichtbar.
Das hat den Vorteil, das du beim scrollen die Überschriften immer siehst, und die Schaltfläche bedienbar bleibt. Du kannst das (unter dem Menüpunkt Fenster - Fixierung aufheben) aber auch aufheben, wenn du möchtest (würde ich aber nicht tun).
So dann hast du ja eine Aufgabe für heute Abend.
Teste die Datei ausgiebig!!!
https://www.herber.de/bbs/user/55307.zip
Ich mußte die Datei zippen, da sie sonst über 300MB ist, und ich sie so nicht auf den Server laden konnte.
Teile mir bitte Fehler, Unklarheiten, Anregungen oder Verbesserungswünsche mit
Bin morgen wieder ab 22:15 Uhr online und werde, wenn es der Dienst erlaubt dir umgehend antworten.
Denk' daran es ist meine letzte Nacht. So viel Zeit wie in der Nachschicht habe ich sonst kaum um, wie du es nennst an Aufgaben zu "stricken". :-)
Also bis morgen
Gruß
Dirk
Anzeige
AW: flexibles sverweis makro
11.09.2008 19:54:47
Dirk
Hallo Manfred,
habe noch eine Änderung an der Datei vorgenommen. :-)
Die aktulle Datei:
https://www.herber.de/bbs/user/55330.zip
Übrigens bald stehen wir nicht mehr im Forum. Ich weiß nicht ob ich dann noch auf den Beitrag antworten kann?
Sollten im langzeit Praxistest noch Schwierigkeiten mit der Datei auftreten kannst du mich auch per email benachrichten.
Das ist im Forum eigentlich nicht so üblich aber ich weiß nicht wie du mich sonst später noch kontaktieren kannst.
Also hier meine emailadresse:
d_raeder@gmx.net
Bis nachher, bin ab 22:15 wahrscheinlich wieder im Forum.
Gruß
Dirk
AW: flexibles sverweis makro
11.09.2008 21:42:41
eddie
Hallo Dirk,
es ist 21:40, ich bin gerade dabei, deine Datei zu kopieren.
Das mit der emailadresse finde ich toll, genau den gleichen Vorschlag wollte ich dir auch machen.
hier ist meine
beinahlpa@web.de
Ich sende dir gleich mal eine Testmail.
Danke für deine bisherige Hilfe. In der direkten mail erzähle ich dir ein wenig mehr über die aufgabenstellung.
Gruß
Manfred
AW: flexibles sverweis makro
11.09.2008 22:02:00
eddie
Hallo dirk, habe die Datei gerade aufgerufen und die ersten Ziffern eingegeben.
Das ist ja absoluter Wahnsinn, genau so habe ich es mir vorgestellt. Ich teste schön weiter und sende dir an deine email einmal die komplette Datei mit einer kleinen Beschreiebung.
(Das mit der Linie war wirklich selten dämlich, sorry, hätte ich auch sehen können)
Wird eine interessante Nacht.
Bye
Manfred
AW: flexibles sverweis makro
12.09.2008 12:00:00
eddie
Hallo Dirk,
ich habe schon mehrere mails abgesendet, die kommen alle wieder zurück.
Schreibe doch einfach mal an mich
beinahlpa@web.de,
damit ich deine anschrift korrekt habe.
Gruß
Manfred

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige