Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellen aus Masterliste erstellen

Tabellen aus Masterliste erstellen
15.07.2014 15:45:26
Nisi

Hallo,
ich habe eine Tabelle in einem Mastersheet (siehe Bild)
Jetzt moechte ich nach je nach Anzahl der Ziffern in Spalte 1 (also 0 bis ..., kann variabel sein)so viele Tabellenblaetter erstellen wie verschiedene Ziffern vorhanden sind (hier 0 bis 3, der Name soll jeweils die Ziffernummer sein)
In die neuen Tabellenblaetter moechte ich dann die dazugehoerigen Zeilen rein kopieren.
Dazu sollen noch die 2 obersten Zeilen als Titelzeilen fuer jedes Sheet aus dem Mastersheet uebernommen werden (Hier nicht drin aus Datenschutz).
Userbild
Hoffe das ist irgendwie verstaendlich erklaert,
Bin leider nicht so fit in VBA dass ich das selber hinkrieg
Und hab auch dazu noch nichts gefunden.
Gruss
Nisi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen aus Masterliste erstellen
15.07.2014 16:10:53
Hajo_Zi
Hallo Nisi,
Du hast ja ein Tool um ein Bild nach Excel zu importieren.
Userbild

AW: Tabellen aus Masterliste erstellen
15.07.2014 16:23:35
Nisi
Hey Hajo,
cool danke fuer die schnelle Hilfe
Das erstellen funktionert super.
jetzt muss ich nur noch die Daten aus den Zeilen in die jeweilige Tabelle (also 1 in Tabelle 1 usw)kopieren koennen,
also die kompletten Zeilen und zusaetzlich sollen die ersten 2 Zeilen als Titel aus dem Mastersheet in jede Tabelle uebertragen werden (Die sind in dem Foto hier nicht drin...)

Anzeige
AW: Tabellen aus Masterliste erstellen
15.07.2014 17:20:20
Christian
Hallo Nisi,
Bilder als Beispiel zu posten ist ungünstig, keiner baut gerne was nach, was ja schon vorhanden ist!!
Ein ausbaufähiger Ansatz:
Sub tabneu()
Dim x As Long, y As Long, z As Long, w As Long, a As Long, b As Long, tabnam As String
Dim wks As Worksheet, wksneu As Worksheet
Set wks = ActiveWorkbook.ActiveSheet
x = wks.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
With wks
For y = 3 To x
If Application.CountIf(.Range(.Cells(3, 1), .Cells(y, 1)), .Cells(y, 1)) = 1 Then
Sheets.Add(After:=Sheets(Sheets.Count)).Name = .Cells(y, 1)
tabnam = .Cells(y, 1)
Set wksneu = ActiveWorkbook.Worksheets(tabnam)
wksneu.Rows(1).Value = .Rows(1).Value
wksneu.Rows(2).Value = .Rows(2).Value
w = Application.CountIf(.Columns(1), .Cells(y, 1)) + y
a = y
b = 3
For z = y To w
wksneu.Rows(b).Value = .Rows(a).Value
a = a + 1
b = b + 1
Next z
End If
Next y
End With
Application.ScreenUpdating = True
End Sub
MfG Christian

Anzeige
..evtl. schneller...
15.07.2014 17:46:19
Christian
Hallo Nisi,
da dein Aufbau ja schon sortiert ist, fkt. dass evtl. besser:
Sub tabneu()
Dim x As Long, y As Long, z As Long, w As Long, a As Long, tabnam As String
Dim wks As Worksheet, wksneu As Worksheet
Set wks = ActiveWorkbook.ActiveSheet
x = wks.Cells(Rows.Count, 1).End(xlUp).Row
a = wks.Cells(3, Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
With wks
For y = 3 To x
If Application.CountIf(.Range(.Cells(3, 1), .Cells(y, 1)), .Cells(y, 1)) = 1 Then
Sheets.Add(After:=Sheets(Sheets.Count)).Name = .Cells(y, 1)
w = Application.CountIf(.Columns(1), .Cells(y, 1)) + y - 1
tabnam = .Cells(y, 1)
Set wksneu = ActiveWorkbook.Worksheets(tabnam)
wksneu.Rows(1).Value = .Rows(1).Value
wksneu.Rows(2).Value = .Rows(2).Value
.Range(.Cells(y, 1), .Cells(w, a)).Copy
wksneu.Cells(3, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
End If
Next y
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
MfG Christian

Anzeige
AW: ..evtl. schneller...
15.07.2014 18:57:10
Nisi
Hey Christian,
tut mir leid mit dem Foto, dachte das waer zur Erklaerung besser.
Noch 3kleine Sachen,
Fuer 0 soll er das ganze nicht machen nur ab 1. Also Zeilen wo null drin steht einfach ueberspringen.
2. Was wenn das wonach ich sortier nicht in der ersten Spalte steht sondern er erst die richtige Spalte aus der Titel Zeile suchen soll.
Und zu gut der letzt hast du eine Idee dazu:
Das ganze funktioniert super, nur wenn ich das auf den ganzen Datensatz uebertrage wird mir gesagt "Excel cannot complete this task with available resources..."
Gibts da ne Moeglichkeit das zu umgehen?
Liebe Gruesse Nisi

Anzeige
ohne Bsp.-Mappe wird es schwer
16.07.2014 08:30:21
Christian
Hallo Nisi,
ohne (D)eine Beispielmappe mit Daten, die anonym sind, aber den Original-Daten entsprechen, wird es schwer, eine Auskunft zu geben, dafür teilst Du zuwenig Details mit.
Welche 0 soll der Code ignorieren? Die in Spalte A? (Wenn es Denn überhaupt Spalte A ist, das geht aus dem Bild nicht hervor)
Was wenn das wonach ich sortier nicht in der ersten Spalte steht sondern er erst die richtige Spalte aus der Titel Zeile suchen soll.

Keine Ahnung was Du meinst!
Und zu gut der letzt hast du eine Idee dazu:
Das ganze funktioniert super, nur wenn ich das auf den ganzen Datensatz uebertrage wird mir  _
gesagt "Excel cannot complete this task with available resources..."
Gibts da ne Moeglichkeit das zu umgehen?

Siehe oben, ohne Beispiel kann man keine Aussage treffen, da Du nicht verräts, wieviel Daten Du in der Tabelle hast.
MfG Christian

Anzeige
AW: ohne Bsp.-Mappe wird es schwer
16.07.2014 14:10:11
Nisi
Okay, also hier eine etwas abgeaenderte Beispieldatei....
Tabellenblaettern sollen so wie die Zahl, die unter Record steht sortiert werden und auch da hineinkopiert werden. "0" ist dabei nur eine Zwischenstufe, die immer mal wieder vorkommt, die kann einfach ignoriert werden.
Record steht aber nicht immer in Spalte 1, es soll deswegen auch noch herausgefunden in welcher Spalte Record steht
In meiner Originaldatei habe ich 34770 Zeilen ausgefuellt.
Wenn kopieren nicht funktioniert wegen der Datenmengen, dann vielleicht verschieben? (Cut anstatt Copy)
Oder dass z.B. pro record nur eine bestimmte Zeit (nach der Spalte time) kopiert wird und dann einfach zum naechsten Record weitergegangen wird und der Rest der Daten aus diesem Record ignoriert wird.
https://www.herber.de/bbs/user/91526.xlsm

Anzeige
AW: ohne Bsp.-Mappe wird es schwer
16.07.2014 20:44:41
Christian
Hallo Nisi,
bei der Menge an Daten geht Excel in die Knie...
Die Frage ist: Wofür willst Du die Tabellenblätter verwenden?
Für eine Auswertung oder Drucken oder...?
Je nachdem was Du vorhast, findet sich bestimmt eine Lösung!
MfG Christian

AW: ohne Bsp.-Mappe wird es schwer
17.07.2014 14:17:59
Nisi
Die Daten werden dann weiter ausgewertet. Es wird unter anderem noch eine Durchschnittszeit errechnet, aber prinzipell ist das erst mal zum Sortieren und um die ueberfluessigen Daten (Record: 0) zu entfernen und die grosse Datendatei aufzusplitten.
Gruesse
Nisi

AW: ohne Bsp.-Mappe wird es schwer
17.07.2014 16:23:59
Nisi
Hallo,
Prinzipiell werden die Daten weiter ausgewertet. Z.B. die Durchschnittszeit berechnet.
Das Makro soll aber nur die ueberfluessigen Daten (Record 0)herauszufiltern um die grosse Datenmenge aufzuteilen und nicht von Hand sortieren zu muessen.
Ist es nicht moeglich jedes einzelne Tabellenblatt zu erstellen und dann die Daten im "Raw" Sheet zu loeschen und den Speicher zu leeren und dann erst weiter zum naechsten Blatt zu gehen?
Die verschiedenen Tabellenblaetter werden dann weiter exportiert und fuer verschiedene Sachen verwendet.
Dachte mir nur das waer schoen das nicht mehr alles von Hand machen zu muessen.
Gruss,
Denise

Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige