Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne

Forumthread: unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne

unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne
26.10.2023 16:55:52
Simon
Hallo zusammen, ich stehe vor einem Problem, vielleicht kann mir jemand helfen..

Ich habe eine Liste, Blatt Input. Dieses Liste enthält tausende Datensätze.
In der Spalte C stehen Werte.

Nun möchte ich alle Zeilen, die in Spalte C den gleichen Wert haben in ein neues Tabellenblatt verschieben und das Tabellenblatt mit dem jeweiligen Wert aus C benennen.

Hat jemand hierzu eine Idee, ich komme damit meinen " beschränkten Excelbordmitteln" nicht mehr weiter.

Eine Musterdatei ist hier.
https://www.herber.de/bbs/user/163833.xlsx
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne
26.10.2023 19:33:17
Uduuh
Hallo,
teste mal:
Sub simon()

Dim vntIN, vntTMP, vntOUT(), objA As Object, o, v, i As Long, n As Integer

Set objA = CreateObject("scripting.dictionary")
vntIN = Worksheets("Input").Cells(2, 1).CurrentRegion

For i = 2 To UBound(vntIN)
v = ""
For n = 1 To 3
v = v & "|" & vntIN(i, n)
Next n
objA(vntIN(i, 3)) = objA(vntIN(i, 3)) & "#" & Mid(v, 2)
Next i

For Each o In objA
vntTMP = Split(objA(o), "#")
ReDim vntOUT(1 To UBound(vntTMP), 1 To 3)
For i = 1 To UBound(vntTMP)
v = Split(vntTMP(i), "|")
For n = 0 To 2
vntOUT(i, n + 1) = v(n)
Next
Next
With Worksheets.Add
.Cells(1, 1).Resize(UBound(vntOUT), 3) = vntOUT
.Name = o
End With
Next o

End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne
27.10.2023 11:37:31
Simon
Hallo Udo,

echt krass das funktioniert echt super. Das hätte ich niemals alleine hinbekommen. Vielen Dank!!!!

Kannst Du mir vielleicht noch zwei Fragen beantworten:

1. Wo muss ich genau anpacken, wenn ich anstatt von (aktuell) 3 Spalten, jetzt 15 Spalten habe und Spalte 15 immer noch mein Blattname sein soll?
2. Wenn mein Blattname aus Spalte 15 noch den Zusatz Out (vorangestellt) tragen soll?

Danke vorab

Simon
Anzeige
AW: unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne
27.10.2023 14:54:50
Uduuh
Hallo,
Sub simon()

Dim vntIN, vntTMP, vntOUT(), objA As Object, o, v, i As Long, n As Integer

Set objA = CreateObject("scripting.dictionary")
vntIN = Worksheets("Input").Cells(2, 1).CurrentRegion

For i = 2 To UBound(vntIN)
v = ""
For n = 1 To 15
v = v & "|" & vntIN(i, n)
Next n
objA(vntIN(i, 15)) = objA(vntIN(i, 15)) & "#" & Mid(v, 2)
Next i

For Each o In objA
vntTMP = Split(objA(o), "#")
ReDim vntOUT(1 To UBound(vntTMP), 1 To 15)
For i = 1 To UBound(vntTMP)
v = Split(vntTMP(i), "|")
For n = 0 To 14
vntOUT(i, n + 1) = v(n)
Next
Next

With Worksheets.Add
.Cells(1, 1).Resize(UBound(vntOUT), 15) = vntOUT
.Name = "OUT_" & o
End With
Next o

End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: unterschiedl. Sheets füllen auf Grund Beding./Sheets benenne
27.10.2023 15:48:39
Simon
Udo, klappt super!

Vielen, vielen Dank!!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18