Schwieriges Transponieren - Automatisch

Bild

Betrifft: Schwieriges Transponieren - Automatisch von: Pierre Beyer
Geschrieben am: 15.02.2005 14:08:14

Hallo,

folgendes Anliegen - hab auch schon etliche Themen im Forum durchsucht - aber auch durch mein Bischen Wissen in VBA, keine Lösung gefunden...

Es geht um folgendes: Wenn man sich die Tabelle anschaut, soll diese MATRIX in eine normale Tabelle umgeformt werden (später mit Autofilterfunktionen usw.)...das heißt taballarisch in dem Fall das am Ende nur 5 Spalten sind!?
(Betrifft Tabelle 1...Urfassung)


Händisch würde ich es folgender Maßen tun müssen:
Wie in Tabelle 2 vorgemacht, nur das man da bis runter alle EPA's durchgehen müsste...!

Anlage (https://www.herber.de/bbs/user/18123.xls)
Würde mich gern über ein solchen Quelltext freuen, der dieses händische dann automatisch für diese Menge an Zeilen tut.

Danke@Greetz
Pierre

Bild


Betrifft: AW: Schwieriges Transponieren - Automatisch von: Hübi
Geschrieben am: 15.02.2005 14:33:45

Hi Pierre,

deine Tabelle kann sich keiner downloaden, weil du den Link in () gesetzt hast.

Gruß Hübi


Bild


Betrifft: Was soll mit Spalte BT geschehen? o.w.T. von: Reinhard
Geschrieben am: 15.02.2005 17:44:30




Bild


Betrifft: AW: Schwieriges Transponieren - Automatisch von: Reinhard
Geschrieben am: 15.02.2005 19:11:37

Hi Pierre,
hat Infineon Technologies keine interne Excelcrew? *g
Alt+F11, Einfügen Modul, nachfolgenden Code reinkopieren, Editor schliessen.
Im Blatt "Ausgangsdatei" über Ansicht--Symbolleisten--Formular eine Befehlsschaltfläche anlegen, der das Makro umform() zuwweisen.
Gruß
Reinhard
Option Explicit
Sub umform()
Dim wksZ As Worksheet, wksQ As Worksheet
Dim ZeileZ As Long, ZeileQ As Long
Application.ScreenUpdating = False
For Each wksZ In ThisWorkbook.Worksheets
    If wksZ.Name = "Ergebnis" Then
        Application.DisplayAlerts = False
        wksZ.Delete
        Application.DisplayAlerts = True
    End If
Next wksZ
ActiveWorkbook.Sheets.Add.Name = "Ergebnis"
Set wksQ = Worksheets("Ausgangsdatei")
Set wksZ = Worksheets("Ergebnis")
wksZ.Range("A1:E1") = Split("Gruppe Ebene EPA Anlage F")
With wksZ
    ZeileQ = 5
    ZeileZ = 2
    While wksQ.Cells(ZeileQ, 1) <> ""
        wksQ.Range("D" & ZeileQ & ":BS" & ZeileQ).Copy
        .Range("E" & ZeileZ).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
        wksQ.Range("D4:BS4").Copy
        .Range("D" & ZeileZ).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
        wksQ.Range("A" & ZeileQ & ":C" & ZeileQ).Copy Destination:=.Range("A" & ZeileZ)
        .Range("A" & ZeileZ & ":C" & ZeileZ).Copy Destination:=.Range("A" & ZeileZ & ":C" & ZeileZ + 67)
        ZeileQ = ZeileQ + 1
        ZeileZ = ZeileZ + 68
    Wend
End With
Application.ScreenUpdating = True
End Sub





Bild


Betrifft: AW: Schwieriges Transponieren - Automatisch von: Pierre Beyer
Geschrieben am: 16.02.2005 09:07:09

Hallo Reinhard,

...wie bist du nur darauf gekommen :-)
Großes Dankeschön - es funktioniert erstmal (so halb) gut!!!
Kannst des mir auch ma ganz kurz näher bringen? Ich meine Reinkopieren bringt ja jede Tipse :o) ...aber da ich schon Vorkenntnis hab, würd ich es verstehen wollen.

Grüße Pierre


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Schwieriges Transponieren - Automatisch"