Supportnet / Forum / Tabellenkalkulation
SQL-Datenbank in Excel auslesen und Daten zusammenführen
Frage
Hallo zusammen,
bevor ich loslege: Ich ziehe den Hut vor den Cracks, die hier Antworten geben. Erste Klasse.
Hier meine Frage:
Ich habe eine recht große SQL-Datenbank in Excel ausgelesen. Das Resultat besteht aus einigen -zig Tabellenblättern mit unterschiedlichen Abfrageergebnissen, die ich nun in einer einzigen Ergebnistabelle zusammenführen möchte.
Problem: Die Tabellenblätter sind unterschiedlich groß, da manche Abfragen mehr Ergebnisse liefern als andere.
Mein Zuordnungskriterium ist die ID-Nummer, in jedem Tabellenblatt in Spalte A zu finden. In der Ergebnistabelle soll pro Zeile eine ID-Nummer in Spalte A stehen, alle ihr zugeordneten Kriterien in den Spalten B-xxx.
Im Prinzip könnte man das Ganze mit SVERWEIS lösen, ist aber recht umständlich. Meine Idee: Vielleicht hat ja jemand in einer ruhigen Minute mal ein geeignetes VBA-Modul gestrickt? Das wär ganz groß.
Reinhard
Antwort 1 von CaroS
Hallo Reinhard_,
wie viele Daten kommen denn da pro ID-Nummer aus "einigen -zig Tabellenblättern" so zusammen? Ganz konkret gefragt, ist die maximale Anzahl < 256? Wir leben hier in Excel nämlich in etwas beengten Verhältnissen, können uns nicht unendlich breit machen.
Und die nächsten Fragen: Sollen aus allen Tabellenblättern alle Daten rechts von der ID-Nummer (d. h. aus allen Spalten ab B?) eingesammelt und in die Ergebnistabelle übertragen werden? Gibt es dazwischen Spalten, die man sich sparen kann, weil sie komplett leer sind?
Sind alle -zig Tabellenblätter nach der ID-Nummer (einheitlich auf- oder absteigend) sortiert? Kann man die ID-Nummer als (eindeutigen) Primärschlüssel auffassen? (Letzteres sicherlich, sonst würdest Du den SVWERWEIS gar nicht erst in Erwägung ziehen.)
Ich nehme an bzw. lese aus Deiner Problembeschreibung heraus, dass nicht in jedem Tabellenblatt jede ID-Nummer vorhanden ist - richtig? (Oder ist jede ID-Nummer in jedem Tabellenblatt vorhanden, hat aber in manchem Tabellenblatt ansonsten keinerlei Daten?)
Ja, ich denke mal, da ist was zu machen. Damit man aber nicht mit den -zig Namen der Tabellenblätter arbeiten muss, dürfte die Ergebnistabelle nicht zwischen den anderen Tabellenblättern stehen, sondern nur am Anfang (For i = 2 to Sheets.Count) oder am Ende (For i = 1 to Sheets.Count - 1) oder in einer anderen Mappe (For Each oder For i = 1 to Sheets.Count).
Gruß,
CaroS
wie viele Daten kommen denn da pro ID-Nummer aus "einigen -zig Tabellenblättern" so zusammen? Ganz konkret gefragt, ist die maximale Anzahl < 256? Wir leben hier in Excel nämlich in etwas beengten Verhältnissen, können uns nicht unendlich breit machen.
Und die nächsten Fragen: Sollen aus allen Tabellenblättern alle Daten rechts von der ID-Nummer (d. h. aus allen Spalten ab B?) eingesammelt und in die Ergebnistabelle übertragen werden? Gibt es dazwischen Spalten, die man sich sparen kann, weil sie komplett leer sind?
Sind alle -zig Tabellenblätter nach der ID-Nummer (einheitlich auf- oder absteigend) sortiert? Kann man die ID-Nummer als (eindeutigen) Primärschlüssel auffassen? (Letzteres sicherlich, sonst würdest Du den SVWERWEIS gar nicht erst in Erwägung ziehen.)
Ich nehme an bzw. lese aus Deiner Problembeschreibung heraus, dass nicht in jedem Tabellenblatt jede ID-Nummer vorhanden ist - richtig? (Oder ist jede ID-Nummer in jedem Tabellenblatt vorhanden, hat aber in manchem Tabellenblatt ansonsten keinerlei Daten?)
Ja, ich denke mal, da ist was zu machen. Damit man aber nicht mit den -zig Namen der Tabellenblätter arbeiten muss, dürfte die Ergebnistabelle nicht zwischen den anderen Tabellenblättern stehen, sondern nur am Anfang (For i = 2 to Sheets.Count) oder am Ende (For i = 1 to Sheets.Count - 1) oder in einer anderen Mappe (For Each oder For i = 1 to Sheets.Count).
Gruß,
CaroS
Antwort 2 von Reinhard_
Hey CaroS,
zur Präzisierung:
- Die Daten pro ID-Nummer sind > 256; ich kann sie notfalls auf < 256 beschränken, da ich nicht alle Informationen benötige.
- Ja. Aus allen Tabellenblättern sollen alle Daten ab Spalte B eingesammelt werden (ausser denjenigen, die ich vorab manuell lösche, um nicht > 256 zu werden).
- Die ID-Nummer ist im Prinzip der eindeutige Primärschlüssel. Es gibt jedoch Tabellenblätter, in welchen der Primärschlüssel in mehreren Zeilen untereinander steht (etwa wie: Viele Köche in einem ID-Lokal).
- Nicht jede ID-Nummer ist in jedem Tabellenblatt vorhanden. Richtig.
- Ergebnistabelle in einer anderen Mappe: Kein Problem.
Lichteres Dunkel?
Danke!
Reinhard
zur Präzisierung:
- Die Daten pro ID-Nummer sind > 256; ich kann sie notfalls auf < 256 beschränken, da ich nicht alle Informationen benötige.
- Ja. Aus allen Tabellenblättern sollen alle Daten ab Spalte B eingesammelt werden (ausser denjenigen, die ich vorab manuell lösche, um nicht > 256 zu werden).
- Die ID-Nummer ist im Prinzip der eindeutige Primärschlüssel. Es gibt jedoch Tabellenblätter, in welchen der Primärschlüssel in mehreren Zeilen untereinander steht (etwa wie: Viele Köche in einem ID-Lokal).
- Nicht jede ID-Nummer ist in jedem Tabellenblatt vorhanden. Richtig.
- Ergebnistabelle in einer anderen Mappe: Kein Problem.
Lichteres Dunkel?
Danke!
Reinhard
Antwort 3 von CaroS
Hallo Reinhard_,
ich bleibe dran, es kann aber noch ein bisschen dauern. Aber mit Deinen Antworten kann es auch jeder andere bearbeiten, also wart´ nicht auf mich. ;-)
CaroS
ich bleibe dran, es kann aber noch ein bisschen dauern. Aber mit Deinen Antworten kann es auch jeder andere bearbeiten, also wart´ nicht auf mich. ;-)
CaroS
Antwort 4 von reinhard_
Hallo CaroS,
"Aber mit Deinen Antworten kann es auch jeder andere bearbeiten": Das nenne ich Optimismus!
Viele Grüße und Danke
Reinhard
"Aber mit Deinen Antworten kann es auch jeder andere bearbeiten": Das nenne ich Optimismus!
Viele Grüße und Danke
Reinhard
Antwort 5 von CaroS
Hallo Reinhard_,
eine Frage muss ich ja doch noch stellen, da sehe ich auch ein Problem. Wenn man jetzt einige Tabellenblätter ausgewertet und mit den Daten in der Ergebnistabelle eine Anzahl Spalten gleichmäßig gefüllt hat - mal abgesehen von ein paar einzelnen leeren Zellen in den Tabellenblättern, die man ebenfalls leer übernommen hat -, was soll passieren, wenn man nun im nächsten Tabellenblatt auf eine ID-Nummer trifft, die im Gegensatz zu allen anderen ID-Nummern in diesem Tabellenblatt mehrfach (in mehreren Zeilen untereinander) auftritt und damit ein Mehrfaches an Daten besitzt? Was soll mit den Daten geschehen?
Würde man alle diese Daten (aus mehreren Zeilen) nebeneinander in die Ergebnistabelle (in dieselben Zeile) übertragen, dann wäre eine Ergebniszeile plötzlich (sehr viel) länger als alle anderen.
Und wohin sollen dann die Daten des nächsten Tabellenblattes geschrieben werden? Soll in jeder Ergebniszeile (individuell) dort weitergeschrieben werden, wo die nächste freie Zelle ist? Oder soll (einheitlich) erst ab der Spalte weitergeschrieben werden, die für alle ID-Nummern leer ist?
Müssen unter Umständen auch in der Ergebnistabelle für manche ID-Nummern mehrere Zeilen eingefügt werden, und wenn ja, nach welchen Regeln?
Gruß,
CaroS
eine Frage muss ich ja doch noch stellen, da sehe ich auch ein Problem. Wenn man jetzt einige Tabellenblätter ausgewertet und mit den Daten in der Ergebnistabelle eine Anzahl Spalten gleichmäßig gefüllt hat - mal abgesehen von ein paar einzelnen leeren Zellen in den Tabellenblättern, die man ebenfalls leer übernommen hat -, was soll passieren, wenn man nun im nächsten Tabellenblatt auf eine ID-Nummer trifft, die im Gegensatz zu allen anderen ID-Nummern in diesem Tabellenblatt mehrfach (in mehreren Zeilen untereinander) auftritt und damit ein Mehrfaches an Daten besitzt? Was soll mit den Daten geschehen?
Zitat:
Es gibt jedoch Tabellenblätter, in welchen der Primärschlüssel in mehreren Zeilen untereinander steht (etwa wie: Viele Köche in einem ID-Lokal).
Es gibt jedoch Tabellenblätter, in welchen der Primärschlüssel in mehreren Zeilen untereinander steht (etwa wie: Viele Köche in einem ID-Lokal).
Würde man alle diese Daten (aus mehreren Zeilen) nebeneinander in die Ergebnistabelle (in dieselben Zeile) übertragen, dann wäre eine Ergebniszeile plötzlich (sehr viel) länger als alle anderen.
Und wohin sollen dann die Daten des nächsten Tabellenblattes geschrieben werden? Soll in jeder Ergebniszeile (individuell) dort weitergeschrieben werden, wo die nächste freie Zelle ist? Oder soll (einheitlich) erst ab der Spalte weitergeschrieben werden, die für alle ID-Nummern leer ist?
Müssen unter Umständen auch in der Ergebnistabelle für manche ID-Nummern mehrere Zeilen eingefügt werden, und wenn ja, nach welchen Regeln?
Gruß,
CaroS
Antwort 6 von Reinhard_
Hey CaroS,
stimmt schon, das könnte zu komplex werden. Wenn wir (einheitlich) erst ab der Spalte weiterschreiben, die für alle ID-Nummern leer ist, kommen wir womöglich schnell an die < 256-Grenze.
Daher der Plan: FALLS in einem Tabellenblatt für manche ID-Nummern mehrere Zeilen stehen, bekommt die entsprechende ID-Nummer auch im Ergebnisblatt mehrere Zeilen.
Das wird unter einer Voraussetzung (die hier zum Glück vorliegt) nicht zu komplex: Wenn die Mehrfachzeilen nur in EINEM EINZIGEN Tabellenblatt auftauchen.
Oder?
Gruß
Reinhard
stimmt schon, das könnte zu komplex werden. Wenn wir (einheitlich) erst ab der Spalte weiterschreiben, die für alle ID-Nummern leer ist, kommen wir womöglich schnell an die < 256-Grenze.
Daher der Plan: FALLS in einem Tabellenblatt für manche ID-Nummern mehrere Zeilen stehen, bekommt die entsprechende ID-Nummer auch im Ergebnisblatt mehrere Zeilen.
Das wird unter einer Voraussetzung (die hier zum Glück vorliegt) nicht zu komplex: Wenn die Mehrfachzeilen nur in EINEM EINZIGEN Tabellenblatt auftauchen.
Oder?
Gruß
Reinhard
Antwort 7 von CaroS
Hallo Reinhard_,
naja, was heißt "zu komplex"? Wenn das Makro in Spalte 180 angekommen ist und dann wird für eine ID-Nummer eine zusätzliche Zeile benötigt, dann muss man sie einfügen und wissen, was man damit anstellen soll. In Spalte A kommt die ID-Nummer und wie dann weiter? In der alten Zeile (oben drüber wird der Datensatz in die Zellen 180 bis 184 geschrieben, in der neuen, fast leeren Zeile in die Zellen 2 bis 6 oder ebenfalls 180 bis 184 ? Was ist mit den restlichen Zellen der neuen Zeile. So oder so sind da viele Zellen leer und einige Fragen offen.
Jedenfalls muss man beim Schreiben des Makros festlegen, was es wann wie tun soll. Ein dick unterstrichenes FALLS und mal sehen, ob dies und das überhaupt eintritt, hilft nicht so richtig weiter.
Ich denke mal, wenn Du mit Datenbanken arbeitest, dann hast Du auch ein bisschen Ahnung von Normalisierung und weißt, wie Datensätze aussehen, die sich bei der Rückführung aus der dritten (oder zweiten) Normalform in die erste ergeben, und was man tun muss. Ist es das, was Du willst?
Gruß,
CaroS
naja, was heißt "zu komplex"? Wenn das Makro in Spalte 180 angekommen ist und dann wird für eine ID-Nummer eine zusätzliche Zeile benötigt, dann muss man sie einfügen und wissen, was man damit anstellen soll. In Spalte A kommt die ID-Nummer und wie dann weiter? In der alten Zeile (oben drüber wird der Datensatz in die Zellen 180 bis 184 geschrieben, in der neuen, fast leeren Zeile in die Zellen 2 bis 6 oder ebenfalls 180 bis 184 ? Was ist mit den restlichen Zellen der neuen Zeile. So oder so sind da viele Zellen leer und einige Fragen offen.
Jedenfalls muss man beim Schreiben des Makros festlegen, was es wann wie tun soll. Ein dick unterstrichenes FALLS und mal sehen, ob dies und das überhaupt eintritt, hilft nicht so richtig weiter.
Ich denke mal, wenn Du mit Datenbanken arbeitest, dann hast Du auch ein bisschen Ahnung von Normalisierung und weißt, wie Datensätze aussehen, die sich bei der Rückführung aus der dritten (oder zweiten) Normalform in die erste ergeben, und was man tun muss. Ist es das, was Du willst?
Gruß,
CaroS
Antwort 8 von reinhard_
Hallo CaroS,
na, so wars gar nicht gemeint mit dem FALLS.
Tabellenblatt 1 beinhaltet die "Stammdaten", mit der ID-Nummer in Spalte A. Nachdem jedoch Tabellenblatt 2 dasjenige Tabellenblatt ist, in dem für manche ID-Nummern mehrere Zeilen stehen, nehmen wir zunächst dieses als Grundlage. Dabei stehen in Spalte A die ID-Nummern, in Spalten B-Z die dazugehörigen Daten dieses Tabellenblatts.
In einem zweiten Schritt werden zunächst die ID-Nummern in Tabellenblatt 2 in den Spalten AA-AZ ergänzt durch die dazugehörigen "Stammdaten" aus Tabellenblatt 1.
Anschließend wird dieser Datenpool ergänzt durch alle übrigen ID-Nummern aus Tabellenblatt 1, die noch nicht in Tabellenblatt 2 stehen. Dabei wird die jeweilige ID-Nummer in Spalte A, die dazugehörigen "Stammdaten" werden in Spalten AA-AZ eingefügt.
Nun haben wir einen "Master". Manche ID-Nummern tauchen in Spalte A dieses "Masters" doppelt auf: Wegen der Doppelungen in Tabellenblatt 2, und weil wir vermeiden wollen, dass im Ergebnissheet mehr als 256 Spalten produziert werden.
In einem dritten Schritt ergänzen wir diesen "Master" durch die Informationen in den übrigen Tabellenblättern. Dabei umfasst (beispielhaft) Tabellenblatt 3 neben der ID-Nummer 5 Spalten, entsprechend wird (werden) die dazugehörige(n) Zeile(n) mit der/den jeweiligen ID-Nummer(n) ergänzt um die Spalten BA-BE. Usw.
Ist das nachvollziehbar? Erstmal danke ich Dir dafür, dass Du Dir überhaupt die Mühe machst, das nachvollziehen zu wollen ;-)
Viele Grüße
Reinhard
na, so wars gar nicht gemeint mit dem FALLS.
Tabellenblatt 1 beinhaltet die "Stammdaten", mit der ID-Nummer in Spalte A. Nachdem jedoch Tabellenblatt 2 dasjenige Tabellenblatt ist, in dem für manche ID-Nummern mehrere Zeilen stehen, nehmen wir zunächst dieses als Grundlage. Dabei stehen in Spalte A die ID-Nummern, in Spalten B-Z die dazugehörigen Daten dieses Tabellenblatts.
In einem zweiten Schritt werden zunächst die ID-Nummern in Tabellenblatt 2 in den Spalten AA-AZ ergänzt durch die dazugehörigen "Stammdaten" aus Tabellenblatt 1.
Anschließend wird dieser Datenpool ergänzt durch alle übrigen ID-Nummern aus Tabellenblatt 1, die noch nicht in Tabellenblatt 2 stehen. Dabei wird die jeweilige ID-Nummer in Spalte A, die dazugehörigen "Stammdaten" werden in Spalten AA-AZ eingefügt.
Nun haben wir einen "Master". Manche ID-Nummern tauchen in Spalte A dieses "Masters" doppelt auf: Wegen der Doppelungen in Tabellenblatt 2, und weil wir vermeiden wollen, dass im Ergebnissheet mehr als 256 Spalten produziert werden.
In einem dritten Schritt ergänzen wir diesen "Master" durch die Informationen in den übrigen Tabellenblättern. Dabei umfasst (beispielhaft) Tabellenblatt 3 neben der ID-Nummer 5 Spalten, entsprechend wird (werden) die dazugehörige(n) Zeile(n) mit der/den jeweiligen ID-Nummer(n) ergänzt um die Spalten BA-BE. Usw.
Ist das nachvollziehbar? Erstmal danke ich Dir dafür, dass Du Dir überhaupt die Mühe machst, das nachvollziehen zu wollen ;-)
Viele Grüße
Reinhard
Antwort 9 von CaroS
Ja, ist nachvollziehbar. Wird aber heute nichts mehr. Gruß, CaroS
Antwort 10 von fürLau
Hallo
Nur mal so zwischendurch - wenn die 256 Spalten nicht ausreichen, kann man noch auf ein OWC-SpreadSheet ausweichen, dort stehen 702 Spalten (ZZ) zu verfügung.
Gruß
Nur mal so zwischendurch - wenn die 256 Spalten nicht ausreichen, kann man noch auf ein OWC-SpreadSheet ausweichen, dort stehen 702 Spalten (ZZ) zu verfügung.
Gruß
Antwort 11 von CaroS
Hallo Reinhard_,
noch ´ne Frage: Sind die ID-Nummern Zahlen? Ich gehe erstmal davon aus, dann sind die Vergleiche am einfachsten. Kompliziert machen kannman es dann immer noch, wenn nötig.
Gruß,
CaroS
noch ´ne Frage: Sind die ID-Nummern Zahlen? Ich gehe erstmal davon aus, dann sind die Vergleiche am einfachsten. Kompliziert machen kannman es dann immer noch, wenn nötig.
Gruß,
CaroS
Antwort 12 von Reinhard_
Hallo CaroS,
die ID-Nummern sind Zahlen. Und: 256 Spalten reichen aus. Und: Danke Dir sehr fürs mitdenken.
Reinhard
die ID-Nummern sind Zahlen. Und: 256 Spalten reichen aus. Und: Danke Dir sehr fürs mitdenken.
Reinhard
Antwort 13 von CaroS
Guten Morgen Reinhard_,
hier ist mal was zum Ausprobieren:
http://www.netupload.de/detail.php?img=65eceaf948223dc53d9013ffe4d6...
Damit werden die ID-Nummern in den Master eingefügt, ich hoffe richtig. Bitte mal ausprobieren.
Dann kann man immer noch entscheiden, welche Daten (Stammdaten?) aus welcher Tabelle in welcher Reihenfolge (zuerst?) in welche Spalten (B-Z?) kopiert werden.
Die wichtigste Voraussetzung, die ich als nächstes bräuchte, wäre, dass die Daten in allen Tabellenblättern nach der ID-Nummer aufsteigend sortiert sind - das macht das Leben leichter und das Makro einfacher und schneller. (Aber es würde natürlich auch mit unsortierten Daten gehen.)
Gruß,
CaroS
hier ist mal was zum Ausprobieren:
http://www.netupload.de/detail.php?img=65eceaf948223dc53d9013ffe4d6...
Damit werden die ID-Nummern in den Master eingefügt, ich hoffe richtig. Bitte mal ausprobieren.
Dann kann man immer noch entscheiden, welche Daten (Stammdaten?) aus welcher Tabelle in welcher Reihenfolge (zuerst?) in welche Spalten (B-Z?) kopiert werden.
Die wichtigste Voraussetzung, die ich als nächstes bräuchte, wäre, dass die Daten in allen Tabellenblättern nach der ID-Nummer aufsteigend sortiert sind - das macht das Leben leichter und das Makro einfacher und schneller. (Aber es würde natürlich auch mit unsortierten Daten gehen.)
Gruß,
CaroS
Antwort 14 von CaroS
Hallo Reinhard_,
ich hab hier mal was gemacht. Bitte ausprobieren:
http://www.netupload.de/detail.php?img=42d0415e61409375e427c8a14da7...
Die Ergebnistabelle muss in derselben Mappe hinter allen anderen Tabellen stehen.
Ansonsten ist klar, dass es sich um ein Teststadium handelt (auch bzgl. der Messageboxen), ich kenne ja Deine Daten nicht.
Gruß,
CaroS
ich hab hier mal was gemacht. Bitte ausprobieren:
http://www.netupload.de/detail.php?img=42d0415e61409375e427c8a14da7...
Die Ergebnistabelle muss in derselben Mappe hinter allen anderen Tabellen stehen.
Ansonsten ist klar, dass es sich um ein Teststadium handelt (auch bzgl. der Messageboxen), ich kenne ja Deine Daten nicht.
Gruß,
CaroS
Antwort 15 von reinhard_
Hey CaroS,
hab jetzt einige Zeit rumprobiert und komme einfach nicht weiter. Parallel zur Sicherheit schon mal händisch die SVERWEIS-Nummer gemacht, damit ich Daten zum Arbeiten habe.
Also:
Ich nenne das erste Tabellenblatt "Tabelle 1", das zweite Tabellenblatt "Tabelle2" und füge in das dritte Tabellenblatt Dein Makro ein.
Über die Schaltflächen geht gar nichts. Excel sagt, es kann das Makro nicht finden. Ich starte die Makros also über das Makromenü und fange mit dem ersten an. Nach einiger Zeit bekomme ich die Meldung "Visual Basic Fehler 400".
Mache ich was falsch?
Viele Grüße
Reinhard
hab jetzt einige Zeit rumprobiert und komme einfach nicht weiter. Parallel zur Sicherheit schon mal händisch die SVERWEIS-Nummer gemacht, damit ich Daten zum Arbeiten habe.
Also:
Ich nenne das erste Tabellenblatt "Tabelle 1", das zweite Tabellenblatt "Tabelle2" und füge in das dritte Tabellenblatt Dein Makro ein.
Über die Schaltflächen geht gar nichts. Excel sagt, es kann das Makro nicht finden. Ich starte die Makros also über das Makromenü und fange mit dem ersten an. Nach einiger Zeit bekomme ich die Meldung "Visual Basic Fehler 400".
Mache ich was falsch?
Viele Grüße
Reinhard
Antwort 16 von CaroS
Hallo Reinhard_,
sorry, dass sich die Makros nicht über die Schaltflächen starten lassen ist mein Fehler. Nachdem ich alles getestet und fertig hatte, kam mir im allerletzten Moment noch die Idee, dass Du vielleicht mehr Tabellen hast als ich (15 + Ergebnis = 16) und dass ich auch die letzte kleine Fehlerquelle beseitigen könnte, indem ich den Excel-internen Tabellennamen von Tabelle16 auf Tabelle99 ändere.
Das ergibt dann ungewollt leider 4 neue Fehler, da die Makrozuordnung zu den Buttons offenbar über den internen Namen erfolgt und nun nicht mehr stimmt. (Du könntest das leicht korrigieren, indem Du Dir die Formular-Symbolleiste anzeigst, mit der rechten Maustaste auf einen Button klickst und über Makro zuweisen... das richtige Makro zuordnest. Die Namen stimmen mit den Button-Texten überein. Zum Schluss die Formular-Symbolleiste wieder schließen und die Makros müssten sich bequem starten lassen.)
Ansonsten gelten die mitgelieferten Hinweise. Die Excel-Mappe enthält ein Tabellenblatt namens "Ergebnis" mit einer Kurzanleitung, die mit den Worten beginnt :
Dieses Tabellenblatt in die Mappe kopieren, wo sich die Tabellenblätter ... befinden und irgendwo hinter die Tabellen 1 und 2 stellen.
Dann kannst Du das erste Makro ausprobieren (Button [[u]Master_ID-N] drücken). Soweit der Stand gestern früh, das müsste in dem älteren Download auch problemlos möglich sein. Weiter unten heißt es dann: Für weitere Tests muss diese Ergebnistabelle hinter allen anderen stehen.
Also nicht nur hinter Deinen Tabellen 1 und 2 an dritter Position, sondern ganz hinten!) Wenn das der Fall ist, kannst Du Makro 2 starten (Button [[u]D. hinzufügen] drücken). Siehe auch AW15: Die Ergebnistabelle muss in derselben Mappe hinter allen anderen Tabellen stehen.
Und zwar meine (!) Ergebnistabelle, nicht Deine! Meine Ergebnistabelle bringt die Makros und die Buttons mit, weil ich genau den Fehler (Excel kann Makro nicht finden) eigentlich verhindern wollte und weil der Name der Ergebnistabelle (= "Ergebnis") unbedingt passen muss. Nochmal sorry für das kleine Missgeschick nachts um 2!
Aber unabhängig von der Art und Weise, wie die Makros gestartet werden, müssten sie in meiner Ergebnistabelle zusammen mit Deinen Daten-Tabellen eigentlich funktionieren. Wie Deine Tabellen heißen ist dabei egal, Hauptsache sie stehen links von der Ergebnistabelle (und haben eine interne Bezeichnung kleiner als Tabelle99, wovon Du erstmal ausgehen kannst/musst). - Also dann, neuer Versuch!
Gruß,
CaroS
sorry, dass sich die Makros nicht über die Schaltflächen starten lassen ist mein Fehler. Nachdem ich alles getestet und fertig hatte, kam mir im allerletzten Moment noch die Idee, dass Du vielleicht mehr Tabellen hast als ich (15 + Ergebnis = 16) und dass ich auch die letzte kleine Fehlerquelle beseitigen könnte, indem ich den Excel-internen Tabellennamen von Tabelle16 auf Tabelle99 ändere.
Das ergibt dann ungewollt leider 4 neue Fehler, da die Makrozuordnung zu den Buttons offenbar über den internen Namen erfolgt und nun nicht mehr stimmt. (Du könntest das leicht korrigieren, indem Du Dir die Formular-Symbolleiste anzeigst, mit der rechten Maustaste auf einen Button klickst und über Makro zuweisen... das richtige Makro zuordnest. Die Namen stimmen mit den Button-Texten überein. Zum Schluss die Formular-Symbolleiste wieder schließen und die Makros müssten sich bequem starten lassen.)
Ansonsten gelten die mitgelieferten Hinweise. Die Excel-Mappe enthält ein Tabellenblatt namens "Ergebnis" mit einer Kurzanleitung, die mit den Worten beginnt :
Dieses Tabellenblatt in die Mappe kopieren, wo sich die Tabellenblätter ... befinden und irgendwo hinter die Tabellen 1 und 2 stellen.
Dann kannst Du das erste Makro ausprobieren (Button [[u]Master_ID-N] drücken). Soweit der Stand gestern früh, das müsste in dem älteren Download auch problemlos möglich sein. Weiter unten heißt es dann: Für weitere Tests muss diese Ergebnistabelle hinter allen anderen stehen.
Also nicht nur hinter Deinen Tabellen 1 und 2 an dritter Position, sondern ganz hinten!) Wenn das der Fall ist, kannst Du Makro 2 starten (Button [[u]D. hinzufügen] drücken). Siehe auch AW15: Die Ergebnistabelle muss in derselben Mappe hinter allen anderen Tabellen stehen.
Und zwar meine (!) Ergebnistabelle, nicht Deine! Meine Ergebnistabelle bringt die Makros und die Buttons mit, weil ich genau den Fehler (Excel kann Makro nicht finden) eigentlich verhindern wollte und weil der Name der Ergebnistabelle (= "Ergebnis") unbedingt passen muss. Nochmal sorry für das kleine Missgeschick nachts um 2!
Aber unabhängig von der Art und Weise, wie die Makros gestartet werden, müssten sie in meiner Ergebnistabelle zusammen mit Deinen Daten-Tabellen eigentlich funktionieren. Wie Deine Tabellen heißen ist dabei egal, Hauptsache sie stehen links von der Ergebnistabelle (und haben eine interne Bezeichnung kleiner als Tabelle99, wovon Du erstmal ausgehen kannst/musst). - Also dann, neuer Versuch!
Gruß,
CaroS
Antwort 17 von fürLau
Hallo nochmal
@reinhard_
Das Problemchen wär´ längs terledigt, wenn man die orginaldaten hätte.
@CaroS
Ich bewundere Deine Ausdauer und Engagement...
@reinhard_
Das Problemchen wär´ längs terledigt, wenn man die orginaldaten hätte.
@CaroS
Ich bewundere Deine Ausdauer und Engagement...
Antwort 18 von CaroS
Hallo!
Ja na klar wird es einfacher, wenn man die Augenbinde mal kurz abnimmt, aber Daten sind immer wieder ein sensibles Thema und da will ich auch niemanden drängen.
Allerdings wäre insgesamt vieles angenehmer, wenn ein paar Grundgedanken und Erfahrungen allgemein bekannter und weiter verbreitet wären, wie z. B.:
es zahlt sich für mich als Fragesteller aus, wenn ich:
- mein Problem genau und verständlich beschreibe,
- weniger die inhaltliche Bedeutung und mehr die formalen Zusammenhänge meiner Ausgangsdaten und der gewünschten Ergebnisse beschreibe,
- aussagekräftige Beispieldaten mitliefere,
- gar eine Beispieldatei mit wenig verfälschten und verfremdeten Daten zum Download bereitstellen könnte
- usw. usf.
Allerdings gehören diese Bemerkungen nicht hierher und sind nicht speziell an Reinhard gerichtet, er leistet doch einen guten und konstruktiven Beitrag.
(Ansonsten warte ich immer noch so ein bisschen auf AW70, habe die Hoffnung noch nicht ganz aufgegeben.)
Mal sehen, ob wir heute noch zu einem (Zwischen-)Ergebnis kommen.
Ja na klar wird es einfacher, wenn man die Augenbinde mal kurz abnimmt, aber Daten sind immer wieder ein sensibles Thema und da will ich auch niemanden drängen.
Allerdings wäre insgesamt vieles angenehmer, wenn ein paar Grundgedanken und Erfahrungen allgemein bekannter und weiter verbreitet wären, wie z. B.:
es zahlt sich für mich als Fragesteller aus, wenn ich:
- mein Problem genau und verständlich beschreibe,
- weniger die inhaltliche Bedeutung und mehr die formalen Zusammenhänge meiner Ausgangsdaten und der gewünschten Ergebnisse beschreibe,
- aussagekräftige Beispieldaten mitliefere,
- gar eine Beispieldatei mit wenig verfälschten und verfremdeten Daten zum Download bereitstellen könnte
- usw. usf.
Allerdings gehören diese Bemerkungen nicht hierher und sind nicht speziell an Reinhard gerichtet, er leistet doch einen guten und konstruktiven Beitrag.
(Ansonsten warte ich immer noch so ein bisschen auf AW70, habe die Hoffnung noch nicht ganz aufgegeben.)
Mal sehen, ob wir heute noch zu einem (Zwischen-)Ergebnis kommen.
Antwort 19 von reinhard_
Auch hallo!
@fürLau
CaroS hat die Antwort gegeben: Die Daten sind sensibel. Und: Du hast völlig recht: Ich hätte nicht ansatzweise erwartet, dass CaroS sich meines Themas so annimmt. Neben dem super Austausch auf der Blindflug-Logikebene / Abstrahierung ist halt doch alles und ich versuche, meinen kleinen Teil zur Erkenntnisgewinnung beizutragen / einfach eine tolle Erfahrung.
@CaroS
Deine AW14 hab ich direkt gelesen. War jedoch bis heute früh zugange, um zumindest den SVERWEIS walkaround zu schaffen. Der ist nun da, die größte (Zeit-)Not damit weg, nun geht´s ans saubere Strukturieren. Solange Du mir dabei helfen willst, freue ich mich darüber sehr. Und bitte Dich zugleich um Nachsicht dafür, dass ich die Sachlage nicht ausreichend gut abstrahiert habe.
Heute geht nix mehr, melde mich morgen auf Deine AW16.
Schönen Abend
Reinhard
@fürLau
CaroS hat die Antwort gegeben: Die Daten sind sensibel. Und: Du hast völlig recht: Ich hätte nicht ansatzweise erwartet, dass CaroS sich meines Themas so annimmt. Neben dem super Austausch auf der Blindflug-Logikebene / Abstrahierung ist halt doch alles und ich versuche, meinen kleinen Teil zur Erkenntnisgewinnung beizutragen / einfach eine tolle Erfahrung.
@CaroS
Deine AW14 hab ich direkt gelesen. War jedoch bis heute früh zugange, um zumindest den SVERWEIS walkaround zu schaffen. Der ist nun da, die größte (Zeit-)Not damit weg, nun geht´s ans saubere Strukturieren. Solange Du mir dabei helfen willst, freue ich mich darüber sehr. Und bitte Dich zugleich um Nachsicht dafür, dass ich die Sachlage nicht ausreichend gut abstrahiert habe.
Heute geht nix mehr, melde mich morgen auf Deine AW16.
Schönen Abend
Reinhard

