# [EXCEL] Tabelle "verschieben"



## uwee (30. Juni 2005)

Hallo an alle!

erstmal Entschuldigung für die Überschrift, mir ist nicht eingefallen, wie ich es genauer hätte beschreiben sollen.

SO, mein Problem...

Ich habe in Excel eine Tabelle, bei der in der X-Achse (ganz links) Zahlen von 1 aufwärts gezählt werden.
In der Y-Achse stehen %-Werte von 0-100 in 10er Schritten.

Sieht ca. so aus:

*Zelle | 0%    | 10% | 20% | ...*
*1*      | 3,598 | 3,66 | 5,89 | ...
*2*      | 3,598 | 3,66 | 5,89 | ...

so... das ganze geht 106 Zeilen so weiter.

Mein Problem an der ganzen Sache ist, dass die Tabelle, die ich hinterher herausbekommen muss, genau andersherum ist.
also X und Y vertauscht:

*Zelle: | 1 | 2 | 3 |....*
*0%*    |3,598 | 3,598 |
*10%*  |3,66|3,66
*20%*  | 5,89|5,89

Ich hab schon probiert es mit einem Makro zu machen, aber da kommt net das bei raus, was ich will.
Da kann ich das auch sofort von Hand machen.
Einmal wäre ja net das Problem, aber ich hab 20 solcher Tabellen.

Könntet Ihr mir nen Tipp geben, WIE ich das makro aufbauen muss, damit die gewünschte Operation automatisch gemacht wird?

EDIT:

Hier schonmal die beiden Quellcodes, die ich schon getestet habe:

```
Sub Sort1()
'
' Sort1 Makro
' Makro am 30.06.2005 von UweE aufgezeichnet
'
' Tastenkombination: Strg+q
'
    Range("C2").Select
    Selection.Cut Destination:=Range("D15")
    Range("C3").Select
    Selection.Cut Destination:=Range("E15")
    Range("C4").Select
    Selection.Cut Destination:=Range("F15")
    Range("C5").Select
    Selection.Cut Destination:=Range("G15")
    Range("C6").Select
    Selection.Cut Destination:=Range("H15")
    Range("C7").Select
    Selection.Cut Destination:=Range("I15")
    Range("C8").Select
    Selection.Cut Destination:=Range("J15")
    Range("C9").Select
    Selection.Cut Destination:=Range("K15")
    Range("C10").Select
    Selection.Cut Destination:=Range("L15")
    Range("L15").Select
End Sub
Sub soprt()
'
' soprt Makro
' Makro am 30.06.2005 von UweE aufgezeichnet
'
' Tastenkombination: Strg+e
'
    Range("C2").Select
    Selection.Cut Destination:=Range("D15")
    Range("C2:C10").Select
    Selection.Delete Shift:=xlToLeft
    Range("C2").Select
    Selection.Cut Destination:=Range("D16")
    Range("C2:C10").Select
    Selection.Delete Shift:=xlToLeft
    Range("D17").Select
End Sub
```

Der erste is einfach nur die Verschiebung der Zellen, ohne einfügen einer neuen oder  löschen der alten von oben.
Das zweite is mit Löschen... hat aber nicht funktioniert, da ja die zelle immer in die gleiche verschoben wurde.

Vielen Dank

UweE


----------



## Orakel (30. Juni 2005)

Hi Uwe,

mit aufgezeichneten Makros kommst Du nicht weit. Das ganze läst sich mit folgendem Makro lösen:


```
Public Sub FromXToY()
    Dim nCounter1                   As Integer
    Dim nCounter2                   As Integer

    For nCounter1 = 1 To 11
        For nCounter2 = 1 To 101
            Worksheets("Tabelle2").Cells(nCounter1, nCounter2).Value = _
            Worksheets("Tabelle1").Cells(nCounter2, nCounter1).Value
            Worksheets("Tabelle2").Cells(nCounter1, nCounter2).NumberFormat = _
            Worksheets("Tabelle1").Cells(nCounter2, nCounter1).NumberFormat
        Next nCounter2
    Next nCounter1

End Sub
```

Hope it helps
Das Orakel

Edit: By the way. In der Y-Achse stehen die ganzen Zahlen und in der X-Achse die Prozent werte.


----------

