Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

Tabellendaten in mehrere Tabellenblätter

Tabellendaten in mehrere Tabellenblätter
17.03.2021 14:02:17
Andre
Hallo zusammen,
ich beschäftige mich häufig mit Makros um einige Dinge in Excel zu erleichtern. Häufig geht es hier darum Daten zu kopieren etc.
Aktuell stehe ich wieder vor einem solchen Projekt.
Ich habe eine Tabelle mit ca. 8500 Zeilen. Die Tabelle geht von A bis M.
In Zeile 1 der Tabelle befinden sich Städtenamen (ca. 140 verschiedene).
Ich habe vor für jede Stadt die Daten in ein eigenes Tabellenblatt zu kopieren.
Gefunden habe ich bereits ein Makro welches mir Tabellenblätter nach einer bestimmten
Liste erstellt.
Sub StandortTabellenErstellen()
Dim LastRow, i
LastRow = Sheets("Standortliste").Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
Sheets("blanko").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("Standortliste").Range("A" & i)
Next
End Sub

Wo ich nicht weiterkomme bzw. nicht fündig werde ist das kopieren der Daten.
Ich möchte alle Zeilen aus der Ursprungstabelle welche in Spalte A den gleichen Wert
haben wie das Tabellenblatt heißt mit Formeln in genau dieses Tabellenblatt kopieren.
Hat hier jemand eine Idee wie man das umsetzen kann?
Im Grunde möchte ich für jede Stadt ein eigenes Tabellenblatt haben und nicht 8500 Zeilen.
Vielen Dank im Voraus :)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellendaten in mehrere Tabellenblätter
17.03.2021 14:19:19
Rudi
Hallo,
In Zeile 1 der Tabelle befinden sich Städtenamen (ca. 140 verschiedene).
Du meinst wahrscheinlich Spalte 1, oder? A1:M1 sind ja nur 13 Zellen.
Gruß
Rudi

AW: Tabellendaten in mehrere Tabellenblätter
17.03.2021 14:52:58
Andre
Hallo Rudi,
ja ganz genau. Das hatte ich falsch geschrieben, die Städtenamen befinden sich in Spalte A.
Danke dir

AW: Tabellendaten in mehrere Tabellenblätter
17.03.2021 14:52:53
Rudi
teste mal:
Sub kopieren()
Dim wks As Worksheet
Dim rng As Range
Dim i As Long, n As Long
With Sheets("Gesamt")
n = .Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
i = Application.CountIf(.Columns(1), rng)
On Error Resume Next
Set wks = Worksheets(rng.Value)
On Error GoTo 0
If wks Is Nothing Then
Set wks = Worksheets.Add(after:=Sheets(Sheets.Count))
wks.Name = rng
.Range("A1:M1").Copy wks.Range("A1")
wks.Cells(2, 1).Resize(i, 13).FormulaR1C1 = _
"=IFERROR(INDEX(Gesamt!C1:C13,AGGREGATE(15,6,1/(Gesamt!R1C1:R" & n & "C1=""" & _
rng & """)*ROW(R1:R" & n & "),ROW(R[-1]C1)),COLUMN()),"""")"
End If
Set wks = Nothing
Next rng
End With
End Sub


Anzeige
AW: Tabellendaten in mehrere Tabellenblätter
17.03.2021 15:02:07
Andre
Also beim Ausführen passiert bei dem Code nicht

passiert nichts
17.03.2021 15:08:08
Rudi
bei mir schon.
Heißt deine Hauptliste auch 'Gesamt' ?

AW: passiert nichts
17.03.2021 16:40:00
Andre
Ja, hatte Sie extra umbenannt
Düsseldorf 1 a a a a a a a a a a a
München 2 a a a a a a a a a a a
Hamburg 3 a a a a a a a a a a a
Böblingen 4 a a a a a a a a a a a
Göppingen 5 a a a a a a a a a a a
Göppingen 6 a a a a a a a a a a a
Göppingen 7 a a a a a a a a a a a
Göppingen 8 a a a a a a a a a a a
Göppingen 9 a a a a a a a a a a a
Göppingen 10 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
Aalen 6 a a a a a a a a a a a
So ist es Beispielsweise aufgebaut

Anzeige
AW: passiert nichts
17.03.2021 16:59:25
Andre
Ah mein Fehler, jetzt hat es geklappt. Irre :D
Vielen lieben Dank. Ich werde es Morgen mal auf die Hauptliste anwenden und Rückmeldung geben.
Zeile 1 ist wahrscheinlich für Überschriften vorgesehen richtig?
Klasse.

ja, in 1 stehen Überschriften. owT
17.03.2021 17:06:35
Rudi

AW: ja, in 1 stehen Überschriften. owT
17.03.2021 17:24:14
Andre
Hallo Rudi,
ich konnte es jetzt an der Hauptliste testen. Aktuell läuft das Makro noch auf einen Fehler 400 hinaus. Hier konnte ich aber schon herausfinden, dass es an der Zeichenlänge in Spalte 1 liegt. Das würd ich ggf. händisch ändern.
Was müsste ich tun um den Bereich zu erweitern? Hatte versucht im Code von M1 auf W1 zu ändern, aber das klappt irgendwie nicht, er gibt mir weiterhin die Daten bis M aus.
Könnte man auch die Daten ausschneiden? So dass auch Formatierungen etc. übernommen werden?

Anzeige
Bereich erweitern
18.03.2021 09:32:41
Rudi
Hallo,
dann müssen die Formeln auch bis W geschrieben werden.
Sub kopieren()
Dim wks As Worksheet
Dim rng As Range
Dim i As Long, n As Long
With Sheets("Gesamt")
n = .Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
i = Application.CountIf(.Columns(1), rng)
On Error Resume Next
Set wks = Worksheets(rng.Value)
On Error GoTo 0
If wks Is Nothing Then
Set wks = Worksheets.Add(after:=Sheets(Sheets.Count))
wks.Name = rng
.Range("A1:W1").Copy wks.Range("A1")
wks.Cells(2, 1).Resize(i, 23).FormulaR1C1 = _
"=IFERROR(INDEX(Gesamt!C1:C13,AGGREGATE(15,6,1/(Gesamt!R1C1:R" & n & "C1=""" & _
rng & """)*ROW(R1:R" & n & "),ROW(R[-1]C1)),COLUMN()),"""")"
End If
Set wks = Nothing
Next rng
End With
End Sub
Könnte man auch die Daten ausschneiden? So dass auch Formatierungen etc. übernommen werden?
du wolltest das doch ausdrücklich per Formel übernehmen.
Formate (hinter Formel einfügen)
        .Range("A2:W2").Copy
wks.Cells(2, 1).Resize(i, 23).PasteSpecial xlPasteFormulas

Gruß
Rudi

Anzeige
AW: Bereich erweitern
18.03.2021 12:37:25
Andre
Ok das ist dann falsch rüber gekommen. "Mit Formeln" damit meinte ich, dass die vorhandenen Formeln in der Ursprungstabelle mit übernommen werden sollen. Sorry das es so rüber kam

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige