Discussion:
EXCEL 2003: Mehrere Zeilen Transponieren...?
(zu alt für eine Antwort)
x***@7777.ch
2008-05-09 07:50:57 UTC
Permalink
Liebe Comunity

Habe da eine Problemstellung und komme einfach nicht auf die Lösung...
Vielleicht habe ich mich auch schon zu sehr verrannt, bin daher
gespannt ob mir jemand helfen kann.

Bitte seht Euch folgendes xls an: http://www.herber.de/bbs/user/52251.xls


Das "Problem" sind comma separierte Werte in einer Zelle, welche
schlussendlich als Zeilen dargestellt werden sollen. Klar geht das
relativ einfach über "Text in Spalten" und dann über Kopieren/Inhalte
Einfügen und Transponieren. Doch soll dieser Vorgang für mehrere
Zeilen wiederholt werden.

Eventuell hat jemand eine Idee oder ist schon mal über eine solche
Fragestellung gestolpert?

Vielen Dank schon mal!
Pat
{Boris}
2008-05-09 08:17:24 UTC
Permalink
Hi Pat,
Bitte seht Euch folgendes xls an:http://www.herber.de/bbs/user/52251.xls
Das "Problem" sind comma separierte Werte in einer Zelle, welche
schlussendlich als Zeilen dargestellt werden sollen. Klar geht das
relativ einfach über "Text in Spalten" und dann über Kopieren/Inhalte
Einfügen und Transponieren. Doch soll dieser Vorgang für mehrere
Zeilen wiederholt werden.
Eventuell hat jemand eine Idee oder ist schon mal über eine solche
Fragestellung gestolpert?
Bezogen auf Dein konkretes Beispiel erledigt das folgender Code
(Ausgabe im 2. Tabellenblatt!!):

Option Explicit

Sub do_it()
Dim C As Range
Dim arr
Dim i As Long, y As Long
y = 2
With Tabelle2
For Each C In Tabelle1.Range("A5:A9")
arr = Split(C.Offset(0, 2), ",")
For i = 0 To UBound(arr)
.Cells(y, 1) = C
.Cells(y, 2) = C.Offset(0, 1)
.Cells(y, 3) = Trim(arr(i))
y = y + 1
Next i
Next C
End With
End Sub

--
Grüße Boris
x***@7777.ch
2008-05-09 08:25:28 UTC
Permalink
Post by {Boris}
Hi Pat,
Bitte seht Euch folgendes xls an:http://www.herber.de/bbs/user/52251.xls
Das "Problem" sind comma separierte Werte in einer Zelle, welche
schlussendlich als Zeilen dargestellt werden sollen. Klar geht das
relativ einfach über "Text in Spalten" und dann über Kopieren/Inhalte
Einfügen und Transponieren. Doch soll dieser Vorgang für mehrere
Zeilen wiederholt werden.
Eventuell hat jemand eine Idee oder ist schon mal über eine solche
Fragestellung gestolpert?
Bezogen auf Dein konkretes Beispiel erledigt das folgender Code
Option Explicit
Sub do_it()
Dim C As Range
Dim arr
Dim i As Long, y As Long
y = 2
With Tabelle2
  For Each C In Tabelle1.Range("A5:A9")
    arr = Split(C.Offset(0, 2), ",")
    For i = 0 To UBound(arr)
      .Cells(y, 1) = C
      .Cells(y, 2) = C.Offset(0, 1)
      .Cells(y, 3) = Trim(arr(i))
      y = y + 1
    Next i
  Next C
End With
End Sub
--
Grüße Boris
Hallo Boris
Na vielen herzlichen Dank!!!!! Wenn Du wüsstest wieviel Zeit mich das
schon gekostet hat.... :-)
Lieber Gruss, Pat

Loading...