MAKRO Programmierung: zeilenweise in Arbeitsblätte

Folgende Aufgabenstellung:

eine Excel-Tabelle mit mehreren Zeilen / Spalten existiert.

Aus den Daten jeder Zeile soll jeweils ein Arbeitsblatt im gleichen Dokument erstellt werden. Dieses Arbeitsblatt soll den namen bekommen, der in der 1. Zelle der jeweiligen Zeile steht. Das ganze soll über eine Schleife erfolgen, solange die 1. zelle nicht leer ist

Die Zeilenweisen Daten sollen in eine Vorlage (bereits vorhandenes 2. Arbeitsblatt) eingefügt und transponiert werden.

Bitte um Tips zur schleife, Variablen und Umbenennung.
Besonders nett wäre es, wenn über einen Button im Arbeitsblatt mit den Ausgangsdaten die anderen Arbeitsblätter erstellt werden können.

Vorlage für Arbeitsblatt, in das eingefügt werden soll, ist vorgegeben und darf formell nicht verändert werden.

Vielen Dank für die Unterstützung!

Hi Kristin,

Aus den Daten jeder Zeile soll jeweils ein Arbeitsblatt im
gleichen Dokument erstellt werden. Dieses Arbeitsblatt soll
den namen bekommen, der in der 1. Zelle der jeweiligen Zeile
steht. Das ganze soll über eine Schleife erfolgen, solange die

  1. zelle nicht leer ist

Aha, pro Zeile ein neues Blatt.

Die Zeilenweisen Daten sollen in eine Vorlage (bereits
vorhandenes 2. Arbeitsblatt) eingefügt und transponiert
werden.

Ups, Jede Zeile nicht in ein neues Blatt sondern in Blatt2 ?

Mit Transponieren meinst du Zeilen in Spalten?

Bitte um Tips zur schleife, Variablen und Umbenennung.
Besonders nett wäre es, wenn über einen Button im Arbeitsblatt
mit den Ausgangsdaten die anderen Arbeitsblätter erstellt
werden können.

Wenn mir das oben Gesagte verständlicher nahegebracht wird ist das kein Akt mit dem Button.

Vorlage für Arbeitsblatt, in das eingefügt werden soll, ist
vorgegeben und darf formell nicht verändert werden.

Was meinst du damit? Keine Formatänderung der Zellen?

Gruß
Reinhard

Hi Kristin,

Aus den Daten jeder Zeile soll jeweils ein Arbeitsblatt im
gleichen Dokument erstellt werden. Dieses Arbeitsblatt soll
den namen bekommen, der in der 1. Zelle der jeweiligen Zeile
steht. Das ganze soll über eine Schleife erfolgen, solange die

  1. zelle nicht leer ist

Aha, pro Zeile ein neues Blatt.

Die Zeilenweisen Daten sollen in eine Vorlage (bereits
vorhandenes 2. Arbeitsblatt) eingefügt und transponiert
werden.

Ups, Jede Zeile nicht in ein neues Blatt sondern in Blatt2 ?

Doch, in ein neues Blatt, was aber eine Kopie von Blatt 2 sein muß!

Mit Transponieren meinst du Zeilen in Spalten?

Genau!

Bitte um Tips zur schleife, Variablen und Umbenennung.
Besonders nett wäre es, wenn über einen Button im Arbeitsblatt
mit den Ausgangsdaten die anderen Arbeitsblätter erstellt
werden können.

Wenn mir das oben Gesagte verständlicher nahegebracht wird ist
das kein Akt mit dem Button.

Also eine Schleife, die von Blatt 2 eine kopie erstellt, diese umbenennt, in Zelle A1, daten der Zeile in die Spalte der Kopie von Blatt zwei einfügt. Dann neue kopie von Blatt 2, umbenennen in Zelle 2 Spalte eins, Zeile zwei in Spalte auf 2. Kopie umbenennen… weiter mit zeile 3,4 etc, bis leere Zeile kommt. Und das ganze am besten über den Button in Blatt 1.

Vorlage für Arbeitsblatt, in das eingefügt werden soll, ist
vorgegeben und darf formell nicht verändert werden.

Was meinst du damit? Keine Formatänderung der Zellen?

genau. Das ist ein Arbeitsblatt, mit Rahmen und bestimmten Zellen, die so bleiben müssen

Danke
Falls die Daten zur Verfügung gestellt werden sollen, ist das per mail kein Problem!

Excel VBA Zeilen transponieren in mehrere Blätter
Hi Kirstin,

in ein Standardmodul, ggfs. Blattnamen anpassen:

Option Explicit
'
Sub tt()
Dim Zei As Long, ws2 As Worksheet
Application.ScreenUpdating = False
Set ws2 = Worksheets("Tabelle2")
With Worksheets("Tabelle1")
 For Zei = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
 ws2.Copy After:=Worksheets(Worksheets.Count)
 .Rows(Zei).Copy
 With ActiveSheet
 .Select
 Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= \_
 False, Transpose:=True
 .Name = Range("A1")
 .Range("A1").Select
 End With
 Next Zei
 .Activate
 Application.CutCopyMode = False
 .Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard