Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalten mit gleichen Überschriften untereinander
#11
Ween die Daten anfangen in Zelle A1:

Code:
Sub M_snb()
  sn = Sheet1.Cells(1).CurrentRegion
  
  ReDim sp((UBound(sn, 2) \ 2) * (UBound(sn) - 1) - 1, 1)
  
  For j = 0 To UBound(sp)
    sp(j, 0) = sn(j Mod (UBound(sn) - 1) + 2, 2 + j \ (UBound(sn) - 1))
    sp(j, 1) = sn(j Mod (UBound(sn) - 1) + 2, 5 + j \ (UBound(sn) - 1))
  Next
  
  Sheet1.Cells(30, 1).Resize(UBound(sp) + 1, UBound(sp, 2) + 1) = sp
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Funkydonkey
Antworten Top
#12
Hallo,

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.:
Arbeitsblatt mit dem Namen 'Tabelle1'
 LMN
412001Grün AG (Aktienkurs)Grün AG (Umsatz)
4220021220000
4320031330000
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

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.
Gruß Atilla
Antworten Top
#13
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.
Antworten Top
#14
Hallo,

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
 
 ReDim sp((UBound(sn, 2) \ 2) * (UBound(sn) - 1) - 1, 2)
 
 For j = 0 To UBound(sp)
   sp(j, 0) = sn(j Mod (UBound(sn) - 1) + 2, 1)
   sp(j, 1) = sn(j Mod (UBound(sn) - 1) + 2, 2 + j \ (UBound(sn) - 1))
   sp(j, 2) = sn(j Mod (UBound(sn) - 1) + 2, 5 + j \ (UBound(sn) - 1))
 Next
 
 Tabelle1.Cells(25, 6).Resize(UBound(sp) + 1, UBound(sp, 2) + 1) = sp
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Funkydonkey
Antworten Top
#15
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!


Angehängte Dateien
.xlsm   DatenBeispiel1.xlsm (Größe: 597,65 KB / Downloads: 10)
.xlsm   DatenBeispiel2.xlsm (Größe: 443,02 KB / Downloads: 3)
Antworten Top
#16
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.
Antworten Top
#17
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   Dodgy )



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

    Range("C3:C309").Select
    Application.CutCopyMode = False
    Selection.Copy
    
    Dim c As Integer
    c = 3
        Do Until c > 250
        Cells(3, c).Select
        ActiveSheet.Paste
        c = c + 2
    Loop
End Sub


Ich hoffe, dass es dich deiner Problemlösung etwas hilft!
[-] Folgende(r) 1 Nutzer sagt Danke an Fuss12 für diesen Beitrag:
  • Funkydonkey
Antworten Top
#18
Danke, aber ich glaube, dass löst auch nicht mein Problem:(
Antworten Top
#19
Tongue 
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;)


Angehängte Dateien
.xlsx   DatenFarbig.xlsx (Größe: 170,4 KB / Downloads: 8)
Antworten Top
#20
Hallo,

soweit jetzt verstanden, aber..


Zitat:...Also muss der Block K21- 38 eigentlich an folgender Stelle stehen: Q21-Q38


Sollen die Daten aus K21-K38 dann gelöscht werden, oder ...?
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste