für eine VBA Lösung, gerade weil Du wenig bis keine Ahnung davon hast, detailierte Angaben erforderlich.
-Wo genau stehen die Ursprungsdaten in der Tabelle? -Stehen über den Daten Überschriften? -Sind die Überschriften eindeutig zu erkennen und zu unterscheiden; z. B. steht da Aktienkurs, Umsatz in den Überschriften? wenn nicht, wie erkenne ich Aktienkurse und Umsatzspalten? Wie erkenne ich Jahresspalten?
In Deiner zweiten Möglichkeit sind Überschriften in der Jahreszahl Zeile. Kann das wirklich so vorkommen? zB. so.:
Oder ist das ein Kopie Paste Fehler von Dir. Im zweiten Beispiel stehen die Blöcke untereinander. Mal sind Leerzeilen zwichen den Blöcken mal nicht. Wie kann ich die Blöcke auseinandehalten oder erkennen?
Fragen über Fragen. Deshalb solltest Du eine Datei einstellen, in der die Daten genau an den Orten mit genau dem Aufbau stehen, wie im Original. Danach ist eine VBA Lösung kein großer Aufwand mehr. Je detaillierter Deine Angaben sind, desto zielgerichteter kann Dir geholfen werden.
23.01.2016, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2016, 16:01 von Funkydonkey.)
Danke!! Ich werde so schnell es geht den exakten Aufbau ( nur Namen geändert) hier einstellen! Muss dafür nur schnell zur Hochschule. Wäre genial wenn das klappen würde!!
Kurze Frage nochmal zu den Daten: Muss ich die Namen ändern? Es würde alles einfacher machen, wenn ich meinen Request Table+Zieltabelle einfach hochladen könnte.
am besten änderst Du alles was vertraulich sein könnte. Beim Ändern achte darauf, das Du nach gleichem Muster änderst.
snb hat ja zwischenzeitlich einen Code eingestellt. Der wird in Deiner zuletzt eingestellten Datei nicht funktionieren. Außerdem hat er die Jahreszahlen nicht berücksichtigt. Ich habe deshalb seinen Code passend zu Deiner letzten Mappe erweitert und angepasst:
Damit Du sehen kannst, dass der Code das gleiche Auswirft, wie Du es als Zieltabelle eingestellt hat, werden die Daten ab Zeile 25 in die Spalten F-H geschrieben. So hast gleich den Überblick ob alles passt.
Und hier der von mir erweiterte und angepasste Code:
Code:
Sub M_snb() sn = Tabelle1.Cells(5, 3).CurrentRegion
23.01.2016, 17:17 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2016, 17:18 von Funkydonkey.)
So hier jetzt mal die Daten. Da Umsatz etc. als Variable definiert sind, dürfte hier keine Vertraulichkeit vorliegen.. zumal jeder Zugriff auf diesen Datastream haben kann:) Beispiel 1 und Beispiel 2. Beides kann via Request Table in der jeweiligen Darstellung aufgerufen werden. Am Ende sollen zb. alle P, alle AX etc. untereinander stehen. In Beispiel 1 stehen eigentlich schon alle Variablen untereinander.. einige Zeilen enthalten allerdings Fehler und dadurch verschiebt sich die Form wie zb.: bei D:RHM und D:ZAR in der Spalte AF Danke!
Ich hoffe es ist verständlich! Wenn nicht, bitte nachfragen:) PS: Der Request Table dient nur zur Daten Beschaffung. Die Darstellung ist dann in Tabelle 1.
24.01.2016, 16:54 (Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2016, 16:59 von Fuss12.)
Hallo,
ich habe es wohl auch nicht richtig verstanden ...
aber: Ich habe dir mal was vorbereitet, womit du die Zeilen, die du nicht brauchst ausgeblendet bekommst und in neuen Spalten daneben die Variable angezeigt bekommst. (Leider klappt es nicht mit einer bedingten Formatierung ... ich bin eben auch nur Anfänger )
Erstell dir mal eine Kopie von der Tabelle und drücke dann Alt + F11, gehe dann auf Einfügen --> Modul und kopiere folgendes herein und gehe dann jeweils immer auf das "Sub" und dürcke F5; bevor du das beim letzen machst, musst du vor Ausführung folgende Formel einfügen (und am besten mittig formatieren und einfärben, damit du es später besser lesen kannst)
C3: =LINKS(RECHTS(B3;LÄNGE(B$1)+1);LÄNGE(B$1)) und runterkopieren.
Code:
OpOption Explicit Private Sub SpaltenHinzu() Dim a As Integer a = 3 Do Until a > 250 Columns(a).Insert a = a + 2 Loop End Sub Private Sub ZeilenAusblenden() Dim b As Long b = 4 Do Until b > 400 Rows(b & ":" & b + 16).Hidden = True b = b + 18 Loop End Sub
Private Sub VariableEinzeln() 'vor Ausführung folgende Formel einfügen (und am besten mittig formatieren) ! 'C3 Inhalt: =LINKS(RECHTS(B3;LÄNGE(B$1)+1);LÄNGE(B$1)) und runterkopieren
Ich versuche es jetzt nochmal in aller Ausführlichkeit zu beschreiben: In Zeile 1 sieht man Merkmale (zb. wie in Zelle B1 P, oder in Zelle C1 MV etc.), welche in der Tabelle 1 fett markiert sind. Nach diesen Merkmalen soll folgendes sortiert bzw geordnet werden: Beispiel: Ich habe 3 Fälle makiert, die bereits schon in richtiger Spalte stehen (GRÜN markierte Blöcke). Warum ist das so? Da diese "Blöcke" das gleiche Merkmal haben, wie es auch in der Zeile 1 vorzufinden ist (wieder Fett markiert) Beispiel--> Merkmal B1 stimmt mit Merkmal B4 überein (P)->also sind die Daten 2001-2016 an richtiger Stelle. (B3-B20 ist z.B. ein Block, welcher immer zusammen stehen bleibt)
Ein anderes Beispiel: Mehrere Zellen habe ich ROT markiert, da diese neu geordnet werden müssen, da dieser ROTE Block an der falschen Stelle steht. Der ROTE Block hat das Merkmal EPS, aber dieser ROTE Block steht unterhalb dem Merkmal XDD. -->Also muss der Block K21- 38 eigentlich an folgender Stelle stehen: Q21-Q38.
Wenn es jetzt niemand versteht bin ich mit meinem Latein am Ende;)