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

Mehrere Zeilen in eine Spalte transponieren

Mehrere Zeilen in eine Spalte transponieren
Charlotte
Hallo zusammen,
bin auf der Suche nach einer Lösung für folgendes Problem:
Ich habe eine Excel-Tabelle mit 24 Spalten (A - X, Stunden des Tages) und 365 Zeilen (1 - 365, Tage des Jahres). Die einzelnen Zeilen sollen nun transponiert in einer Spalte dargestellt werden, d.h. Spalte A mit 24 x 365 = 8760 Werten.
Gibt es eine Formel/VBA, um diese Arbeit zu automatisieren?
Vielen Dank für eure Mithilfe
Charlotte
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 10:56:34
Case
Hallo, :-)
per VBA so (Tabelle1 ist der CodeName des Tabellenblattes):
Option Explicit
Sub Main()
Dim lngTMP As Long
With Tabelle1
For lngTMP = 2 To .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, lngTMP), .Cells(.Rows.Count, lngTMP).End(xlUp)) _
.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Next lngTMP
End With
End Sub
Servus
Case

AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:18:20
Charlotte
Hallo Case,
vielen Dank für deine schnelle Rückmeldung. Es scheint als wenn du mich noch ein bißchen an die Hand nehmen musst.
Ich habe den Code in VBA Editor eingefügt, gespeichert und ausgeführt. Fehlermeldungen gab es keine, jedoch hat er den Code nicht aufgeführt.
Bei Namesänderung des Tabellenblattes und entsprechender Änderung des Codes zeigte er mir einen Fehler an "Fehler beim Kompilieren: Variable nicht definiert".
Es wäre nett, wenn du mir nochmal weiterhelfen könntest.
Danke nochmal
Charlotte
Anzeige
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:35:13
Case
Hallo, :-)
nimm mal folgenden Code:
Option Explicit
Sub Main()
Dim lngTMP As Long
With ThisWorkbook.Worksheets("Tabelle1")
For lngTMP = 2 To .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, lngTMP), .Cells(.Rows.Count, lngTMP).End(xlUp)) _
.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Next lngTMP
End With
End Sub
Passe den Namen des Tabellenblattes in den Hochkommas an.
Servus
Case

AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:43:36
Charlotte
Super :)
Jetzt muss ich meinerseits noch die unpräzise erste Beschreibung ändern.
Ich würde gerne Stunden 1-24 des 1.1.xxxx untereinander haben und anschließend die Stunden 1-24 des 2.1.xxxx.
Ginge das?
Vielen Dank
Gruß
Charlotte
Anzeige
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:50:58
Case
Hallo, :-)
mach aus der 2 (nach dem =) eine 1: ;-)
For lngTMP = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column
Servus
Case

AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:38:09
Charlotte
Vielen Dank für die Lösung,
es lag wahrscheinlich an meiner ersten Beschreiben, dass die Lösung nicht 100% passend ist. Deshalb nocheinmal detaillierter:
Das Transponieren funktioniert. Jedoch würde ich gerne die Stunden 1-24 des Tages 1 untereinander dargestellt haben und dann erst in Zeile 2 springen (diese dann auch von Stunde 1-24 untereinander darstellen).
Vielen Dank nocheinmal :)
Gruß
Charlotte
Anzeige
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 11:46:02
guentherh
Hallo Charlotte,
ich dachte, genau das passiert bei meiner Lösung.
ich habe also noch nicht verstanden, was anders sein soll.
evtl. Beispieldatei?
Gruß,
Günther
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 12:22:26
Case
Hallo, :-)
probiere es mal so:
Option Explicit
Sub Main()
Dim lngTMP As Long
On Error GoTo Fin
Application.ScreenUpdating = False
With Tabelle2
lngTMP = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
For lngTMP = 1 To lngTMP
.Range(.Cells(lngTMP, 1), .Cells(lngTMP, .Columns.Count) _
.End(xlToLeft).Columns).Copy
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Transpose:=True
Next lngTMP
End With
Fin:
With Application
.CutCopyMode = True
.ScreenUpdating = True
End With
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub
Wenn Du es öfters machen musst würde ich dann eine schnellere Variante vorschlagen. Für einmalig reicht das. ;-)
Servus
Case

Anzeige
AW: Mehrere Zeilen in eine Spalte transponieren
27.06.2012 12:55:34
Charlotte
Haloo Jungs,
vielen Dank für die schnelle Hilfe des Problems. Genauso habe ich mir das vorgestellt :)
Liebe Grüße
Charlotte
Zeilen per Formel transponieren
27.06.2012 12:42:38
Rudi
Hallo,
Tabelle2!A1: =INDEX(Tabelle1!$A$1:$X$365;GANZZAHL((ZEILE()-1)/24)+1;REST(ZEILE()-1;24)+1)
und runter kopieren.
Gruß
Rudi

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige