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.

Transponieren von Daten mittels Makro
#1
Hallo zusammen, 

ich bräuchte mal ein wenig Hilfe: 

Ich muss einen Datensatz von Spalte C - Z (Stunde 1 - Stunde 24) und Zeile 2 - 144 (auch alles Spalte C - Z) komplett in Spalte B und von Zeile 2 - etwa 3000+ transponieren.

Ich habe es mit meinem Makro nicht hinbekommen, da ich nicht weiß, wie ich eine automatische Erweiterung der Spalten und Zeilen generieren kann und lediglich das Makro von 3 Spalten mit STRG + X in Spalte B und der passenden Zeile aufgezeichnet habe. 
Ich bin mir jedoch ziemlich sicher, dass es funktioniert. 

Analog würde es zu lange dauern, daher Frage ich hier und hoffe, dass mir jemand helfen kann 

Vielen Dank vorab für eure Hilfe! 

Liebe Grüße 

Jan
Antworten Top
#2
Hi,

Mit Formel in B2:

=INDEX($C$2:$Z$144;KÜRZEN ((ZEILE(A1)-1)/24;0)+1;REST((ZEILE(A1)-1);143)+1)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • JanP
Antworten Top
#3
Oder PowerQuery benutzen.
Cadmus
[-] Folgende(r) 1 Nutzer sagt Danke an Cadmus für diesen Beitrag:
  • JanP
Antworten Top
#4
Hallo

in ein Normales Modul

Code:
Sub Trans()
    Dim S1 As Integer, Sx As Integer, Z1 As Integer, Zx As Integer
    Dim Zeile As Integer, ZielZ As Integer
   
    Z1 = 2
    S1 = 3
   
    Zx = Cells(Rows.Count, S1).End(xlUp).Row 'letzte Zeile der Spalte
    Sx = Cells(Z1, Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile
   
    ZielZ = Z1
   
    For Zeile = Z1 To Zx
        Cells(ZielZ, 2).Resize(Sx - S1 + 1, 1).Value = WorksheetFunction.Transpose(Cells(Zeile, S1).Resize(1, Sx - S1 + 1).Value)
        ZielZ = ZielZ + Sx - S1 + 1
    Next
End Sub

LG UweD
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • JanP
Antworten Top
#5
Hi 

vielen Dank für die Antwort. 

Ich habe es umgesetzt, es funktioniert bis B 26, danach fehlt der Bezug 


Das hat funktioniert! 

Super, vielen Dank!   Angel

Wie kann ich das lernen? 
Sehr sehr nützlich!
Antworten Top


Gehe zu:


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