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

Unterpunkte aus Auflistung

Forumthread: Unterpunkte aus Auflistung

Unterpunkte aus Auflistung
29.08.2024 09:56:19
testenderTester
Hall Excel-Profis!

Ich bin bisher nur stiller Leser des Forums gewesen, jetzt habe ich aber doch ein konkretes Problem.
Beispieldatei erstellt:
https://www.herber.de/bbs/user/171877.xlsx
Zur Erklärung der Beispieldatei:

In Spalte A eine Auflistung, davon wird jeweils ein Tabellenblatt mit demselben Namen erstellt.
Auf dem Tabellenblatt (z.B. Alpha) soll dann die Auflistung ( je nach Anzahl mal 1 bis 4, mal 1 bis 7) und die jeweiligen Daten (aaa, A) übernommen werden.

Also auf Blatt Alpha die Zeilen 1-4
Auf Blatt Beta die Zeilen 1-3
Es steht nicht vorher fest, wieviele Nummern in Spalte B jeweils benötigt werden, das kann bis Ziffer 12 gehen, müsste sich also selbst anpassen. Es beginnt aber immer wieder bei Ziffer 1.

Über xverweis lässt sich gut nach Spalte A filtern, aber wie bekomme ich die in Spalte B unterschiedlichen Mengen auf das separate Tabellenblatt?

Vielen Dank schon mal für alle hilfreichen Antworten!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 10:16:37
Oberschlumpf
Hi,

"muss" es eine Formel-Lösung sein, oder "darf" es auch eine VBA-Lösung sein?

Ciao
Thorsten
AW: Unterpunkte aus Auflistung
29.08.2024 11:37:06
daniel
Hi
ohne VBA natürlich mit etwas aufwand, aber am einfachsten wahrscheinlich so:

1. du musst im Blatt Übersicht in Spalte A die leeren Zellen füllen, also das Alfa, Beta usw muss in den darunter liegenden Zellen stehen.
bei kleinen Tabellen markierst du die Zelle mit der Benennung und machst einen Doppelklick auf die rechte untere Ecke, bei größeren Tabellen kannst du über START-BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE gezielt die Leerzellen selektieren und und dann dort die Formel =Zelle obendrüber (in A2 als erste Leerzelle: =A1)
mit STRG + ENTER wird dann die Formel in alle markierten Zellen übernommen.

2. jetzt legst du ein leeres Tabellenblatt an
in die Zelle A1 kommt diese Formel:
=FILTER(Übersicht!A:D;Übersicht!A:A=TEXTNACH(ZELLE("dateiname");"]"))
benenne das Blatt nach dem Wert aus Spalte A.

das wiederholst du dann für alle Werte aus Spalte A

Gruß Daniel
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 12:07:51
daniel
ok,
dann hier auch noch eine Dritte Makrovariante.

Sub Blätter_erstellen()

Dim sh As Worksheet
Dim a As Range
With Sheets("Übersicht")
'--- ggf alte Blätter löschen (alle außer Übersicht)
Application.DisplayAlerts = False
For Each sh In ThisWorkbook.Worksheets
If sh.Name > .Name Then sh.Delete
Next
Application.DisplayAlerts = True

'--- neue Blätter erstellen
Application.ScreenUpdating = False
For Each a In .Columns(1).SpecialCells(xlCellTypeBlanks).Areas
With Sheets.Add(after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
.Name = a(1).Offset(-1, 0)
a.Offset(-1, 0).Resize(a.Rows.Count + 1, 4).Copy Destination:=.Cells(1, 1)
End With
Next
.Select
End With
End Sub
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 12:43:41
Yal
@Daniel: Plus-Punkte für die Kreativität: ein Verfahren, das auf die Stellen basiert, wo es keine Information gibt, weil eben dieses Fehlen von Information eine Information an sich ist!

VG
Yal
AW: Unterpunkte aus Auflistung
29.08.2024 13:08:26
daniel
Danke
ich arbeite halt auch in VBA gerne mit den Methoden, die mir Excel zur Verfügung stellt (hier das START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE)
das erlaubt es einem, auch bei geringen Programmierkenntnissen für viele Aufgaben einfache und kurze, aber trotzdem leistungsfähige Makros zu erstellen.
Gruß Daniel
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 10:47:59
testenderTester
Hallo!

wenns nicht anders geht, nehme ich auch VBA.
Obwohl ich mich so gut wie gar nicht (mehr) auskenne, außer dass ich den mit ALT+F11 starte ;)

Bevor es keine Lösung gibt, nehme ich die auch gern an.

Gruß
Jonas
AW: Unterpunkte aus Auflistung
29.08.2024 11:23:47
SF
Hola,
steht Alpha, Beta....immer nur einmal in Spalte A, oder könnte man das so gestalten, dass das in jeder Zelle steht? Dann ginge das ganz einfach per Filter() Formel.
Gruß,
steve1da
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 11:41:04
Yal
Moin,

Versuche folgendes:

Sub Verteilen()

Dim R As Range 'R wie Row
Dim AktWS As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = False
Set AktWS = Worksheets("Übersicht") 'Dummy Initialisierung, sodas nicht "Nothing" vorliegt
For Each R In Worksheets("Übersicht").UsedRange.Rows
Set R = R.Cells(1)
If R.Value > "" Then If R.Value > AktWS.Name Then Set AktWS = GetOrCreateWorksheet(R.Value)
AktWS.Cells(Rows.Count, "B").End(xlUp).Offset(1, -1).Resize(1, 5).Value = R.Resize(1, 5).Value
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Private Function GetOrCreateWorksheet(Blattname As String) As Worksheet
Dim WS As Worksheet
On Error Resume Next
Set WS = Worksheets(Blattname)
On Error GoTo 0
If WS Is Nothing Then
Set WS = Worksheets.Add(after:=Worksheets(Worksheets.Count))
WS.Name = Blattname
End If
Set GetOrCreateWorksheet = WS
End Function


VG
Yal
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 11:46:58
Oberschlumpf
Hi Jonas,

da war ich wohl zu langsam.
Aber trotzdem möcht ich auch meine Lösung zeigen:
https://www.herber.de/bbs/user/171879.xlsm

Hilfts?

Ciao
Thorsten
AW: Unterpunkte aus Auflistung
29.08.2024 11:35:32
testender_Tester
Das Alpha, Beta... soll nur in der ersten Zeile stehen.
(Sonst hätte ich es auch geschafft)

Mein Gedanke war:

über xverweis() herausfinden, wo sich Alpha befindet. Dort ist die erste Zeile in der weiter gesucht werden soll.
Dann muss die Prüfung erfolgen, welche Zahl in Spalte B in den nachfolgenden Zeilen die höchste ist, bevor es wieder bei 1 losgeht.
Dann per übernehmen() die entsprechende Tabellengröße Spalte B-D / Zeile Alpha 1-4 (oder eben Beta 1-3, etc.) auf das andere Blatt bringen.

Denk ich da völlig falsch?

Gruß
Jonas
Anzeige
AW: Unterpunkte aus Auflistung
29.08.2024 11:44:42
daniel
Hi
mach doch ne Hilfsspalte, die du für den Filter verwenden kannst:
in E1: =A1
und ab E2 bis datenende: =Wenn(A2="";E1;A2)

oder wenn du keine Hilfsspalte magst:
1. Spalte A markieren
2. über START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE - LEERE ZELLEN die Markierung auf die leeren Zellen einschränken
3. per Formel dein Wert aus der Zelle drüber einlesen, da A2 die erste leere Zelle ist: =A1 und Eingabe mit STRG+ENTER abschließen damit die Formel in alle markierten Zellen geschrieben wird
4. damit es aussieht wie vorher, die Inhalte der Markierten Zellen ausblenden, entweder über das Format Schriftfarbe = Hintergrundfarbe oder über das benutzerdefinierte Zahlenformat ;;; (drei Semikolons)

dann kannst du die Werte mit einer einfachen Filterformel auslesen.
wenn du es noch einfacher haben willst, verwendest du für den Filter den Blattnamen, wie das geht, steht in meinem anderen Beitrag.

Gruß Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige