Betrifft: Für jede Zeile neues Sheet und Daten transponieren
von: Dietmar aus Aachen
Geschrieben am: 04.02.2010 15:15:37
Hallo zusammen,
ich meine es hier schon einmal gelesen zu haben, finde es aber nicht.
Ich habe ein Datenpool-Sheet mit Überschrift in Zeile 1, es sind ca. 20 Spalten vorhanden.
Ab Zeile 2 befinden sich die Daten (ständig wachsend).
Wie kann ich per VBA für jede Datenzeile (d.h. ab Zeile 2) ein eigenständiges Tabellenblatt erzeugen.
Dabei soll der VBA-Codes folgendes können:
a) automatisch erkennen wieviele Daten-Zeilen vorhanden sind
b) für jede Datenzeile eine eigenes Tabellenblatt erzeugen
c) dieses Blatt soll benannt sein nach dem Inhalt des jeweils in Spalte 1 befindlichen Eintrags
d) die Daten sollen in das jeweilige Tabellenblatt >>transponiert<< werden, (d.h. aus waagerecht wird senkrecht) die Zeile 1 des Datenpools (Überschrift) soll dabei auf jedem Auswertesheet senkrecht in der Spalte A ab Zelle A2 übertragen werden
Die Transponierung der Daten selbst soll dann in jedem Sheet senkrecht in Spalte B ab Zelle B2
übertragen werden.
Für A1 und B1 möchte ich später eigene Eintragungen vornehmen.
Jemand eine Idee?
Dietmar aus Aachen
Betrifft: Daten separieren und transponiert kopieren
von: NoNet
Geschrieben am: 04.02.2010 16:04:40
Hallo Dietmar,
mit folgendem Makro (in ein allgemeines Modul - z.B. "Modul1" kopieren) kannst Du das lösen :
Sub DatenpoolSepariertTransponieren() Dim lngZ As Long Dim wsDatenpool As Worksheet 'Name des Tabellenblattes, das die Liste enthält - bitte anpassen : Set wsDatenpool = Worksheets("Datenpool") With wsDatenpool For lngZ = 2 To .Cells(Rows.Count, 1).End(xlUp).Row Sheets.Add.Name = .Cells(lngZ, 1) 'Name des neuen Blattes aus Spalte A .Rows(1).Copy [A2].PasteSpecial Transpose:=True 'Überschriften transponiert kopieren .Rows(lngZ).Copy [B2].PasteSpecial Transpose:=True 'Datenzeile transponiert kopieren [A1].Select Next End With Application.CutCopyMode = False Set wsDatenpool = Nothing 'Speicher für Variable wieder freigeben End SubDen Namen "Datenpool" des Blattes mit den Daten musst Du an Deinen Tabellennamen anpassen !
Betrifft: Wow! Das ist es!!!
von: Dietmar aus Aachen
Geschrieben am: 04.02.2010 17:52:45
Hallo NeNet!
das ist ja genial, es funktioniert genau so, wie es soll. Begeisterung pur!
Stunden Arbeit gespart!
Herzlichen Dank!
Dietmar aus Aachen
Betrifft: OT: NeNet ? - DochNet ;-) _oT
von: NoNet
Geschrieben am: 04.02.2010 17:57:10
_oT = "ohne Text"
Betrifft: :-)) SuperNet :-)) _oT
von: Dietmar aus Aachen
Geschrieben am: 04.02.2010 22:25:56
_
Betrifft: JetztÜbertreibeAberBitteNet :-)) _oT
von: NoNet
Geschrieben am: 04.02.2010 23:02:01
_oT