Microsoft Excel

Herbers Excel/VBA-Archiv

Werte aus Zeilen in Spalten | Herbers Excel-Forum


Betrifft: Werte aus Zeilen in Spalten von: Gallanz
Geschrieben am: 21.08.2012 14:13:29

Hallo,

ich suche nach einer Möglichkeit Daten aus mehreren Zeilen in Spalten zu kopieren. Ich habe dazu ein Muster angelegt. Der obere Teil zeigt die Daten in aktueller Sortierung. Der untere Teil soll das Ergebnis darstellen.

Kann mir jemand dabei helfen?

https://www.herber.de/bbs/user/81499.xlsx

  

Betrifft: AW: Werte aus Zeilen in Spalten von: Rudi Maintaire
Geschrieben am: 21.08.2012 14:25:27

Hallo,
schreibt auf Blatt2:

Sub aaaa()
  Dim arrIn, arrAus(), i As Long, j As Long, n As Long
  
  arrIn = Cells(1, 1).CurrentRegion
  ReDim arrAus(1 To (UBound(arrIn) - 1) * (UBound(arrIn, 2) - 1), 1 To 3)
  
  For i = 2 To UBound(arrIn)
    For j = 2 To UBound(arrIn, 2)
      n = n + 1
      arrAus(n, 1) = arrIn(i, 1)
      arrAus(n, 2) = arrIn(1, j)
      arrAus(n, 3) = arrIn(i, j)
    Next
  Next
  
  With Sheets(2)
    .Cells.Clear
    .Cells(1, 1).Resize(n, 3) = arrAus
  End With
  
End Sub

Gruß
Rudi


  

Betrifft: AW: Werte aus Zeilen in Spalten von: Gallanz
Geschrieben am: 21.08.2012 14:41:54

Kann man dies auch mit einer Formel umsetzen? Ich habe leider die Daten in mehreren Blättern und für 2002-2011 ( Werte: 1-10) sowie für 15 Länder (Code: AAA-KKK)

Danke


  

Betrifft: AW: Werte aus Zeilen in Spalten von: Rudi Maintaire
Geschrieben am: 21.08.2012 15:08:28

Hallo,
klar geht das auch per Formel.

 ABCDEFGHIJKLMNO
1CodeWert 1Wert 2Wert 3Wert 4Wert 5Wert 6Wert 7Wert 8Wert 9Wert 10 CodeWasWert
2AAA2223242526272829210211 AAAWert 122
3BBB3233343536373839310311 AAAWert 223
4CCC4243444546474849410411 AAAWert 324
5            AAAWert 425
6            AAAWert 526
7            AAAWert 627
8            AAAWert 728
9            AAAWert 829
10            AAAWert 9210
11            AAAWert 10211
12            BBBWert 132
13            BBBWert 233
14            BBBWert 334

ZelleFormel
M2=INDEX(A:A;(ZEILE(A1)-1)/10+2)
N2=INDEX($B$1:$K$1;REST(ZEILE(A1)-1;10)+1)
O2=INDEX($B$1:$K$4;(ZEILE(A1)-1)/10+2;REST(ZEILE(A1)-1;10)+1)


Gruß
Rudi


Beiträge aus den Excel-Beispielen zum Thema "Werte aus Zeilen in Spalten"