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

Stücklisten auf mehreren Ebenen

Stücklisten auf mehreren Ebenen
29.05.2013 17:14:29
stef26
Hallo liebe Excelgemeinde,
ich hab da mal ein kniffliges Problem, das ich nicht auf die reihe bekomme.
Ich habe eine Mehrstufige Stückliste, die ich mir aus einem System in excel einlade.
(Stufe 1: alle direkt verbauten Bauteile,Stufe 2: Bauteile die in einer der Bauteile der Stufe 1 verbaut werden usw....)
In der Spalte K steht die Stufe (1,2,3,4)
Ich möchte 2 Abfragen generieren, die von K2 bis K500 von oben nach unten durchlaufen soll.
a) Abfrage 1: wechselt die Stufe 1 auf Stufe 2 ist die Materialnummer (Spalte C)
abzufragen, ob die Unterstückliste gelöscht werden soll.
Bei ja dann lösche den Bereich ab der Erhöhung zur Stufe 2 bis zur nächsten Stufe 1
Weiter suchen, ob es noch Erhöhungen von Stufe 1 auf 2 gibt
b) Abfrage 2: wechsel der Stufe 2 auf 3
hier soll ebenfalls die Materialnnummer (Spalte C) abgefragt werden, ob deren Stückliste gelöscht werden soll. bei ja löschen bis Stufe von 3 auf 2 oder von 3 auf 1 zurück springt.
leider kannm man aktuell keine xls hochladen, sonst hätte ich mal es euch anhand eines Beispieles mal zeigen können.
Vieleicht gibt es ja jemanden, der das trotzdem verstanden hat wo mein Problem ist
Wäre für jede art von kreativer Rückmeldung dankbar, die mich hier einen Schritt weiter bringt...
:-)
liebe Grüße
Stef26

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
eider kannm man aktuell keine xls hochladen,
29.05.2013 18:00:13
robert
Hi,
wie kommst Du darauf?
Siehe Zum File-Upload.....
Gruß
robert

jetzt mit Anhang
29.05.2013 21:52:44
stef26
Hallo,
habs nun geschafft die Datei hochzuladen...
https://www.herber.de/bbs/user/85578.zip
Wie schon erwähnt such ich nach der Möglichkeit in einer Mehrstufigen Stückliste
Untergeordnete Stücklisten nach Bedarf zu löschen.
Wer Ideen hat wie man das angehen kann, bitte meldet euch
Besten Dank schonmal
Stef26

AW: jetzt mit Anhang
30.05.2013 10:33:38
fcs
Hallo Stef,
willst du bei jedem Stufenwechsel von 1 nach 2 bzw. 2 nach 3 gefragt werden, ob die nachfolgenden Zeilen gelöscht werden sollen oder soll die gesamte Liste ohne Zwischenabfragen abgearbeitet werden?
Wenn die gesamte Liste in einem Rutsch abgearbeitet werden soll, dann kann man mit dem Autofilter arbeiten. Den Filter auf die zu löschenden Stufen setzen. Dann die Stufen in den angezeigten Zeilen löschen. Dann in der Spalte Inhalte suchen (Leere Zellen) und Zellen löschen (Abfrage nach ganze Zeilen mit ok beantworten).
Gruß
Franz

Anzeige
AW: jetzt mit Anhang
30.05.2013 11:41:56
stef26
Hallo Franz,
schön dass du dich meiner angenommen hast.
Ich bräucht bei jedem Wechsel eine Abfrage, da nicht jede Unterstruktur gelöscht werden soll.
Da es ja vorkommen kann, dass eine Stufe 2 gelöscht werden soll, die auch noch unterstufen besitzt,
ist das ganze nicht so einfach. Ich vermute mal (bin mir aber selbst nicht sicher), dass man wie
ich ganz am Anfang geschrieben habe auf Zwei Schritte Abfragen müsste. Zuerst den wechsel von Stufe 1 auf 2. Danach erst die Stufen 2 auf 3...
Es ist verflixt kompliziert...
Gruß
Stefsn

AW: jetzt mit Anhang
31.05.2013 10:44:35
fcs
Hallo Stefan,
hier mal ein erster Ansatz für ein Makro zur Löschung von Zeilen.
Je nachdem für welche "Do Until" - Zeile entscheidest ist das Löschverhalten etwas anders.
Bitte Makro in einer Kopie des Tabellenblattes testen, da die Löschungen nicht rückgängig gemacht werden können außer durch Schliessen der Datei ohne zu speichern.
Gruß
Franz
'Code in einem allgemeinen Modul
Sub Loeschen_Stufe_2()
Call Loeschen_Stufe(StufeNr:=2)
End Sub
Sub Loeschen_Stufe_3()
Call Loeschen_Stufe(StufeNr:=3)
End Sub
Sub Loeschen_Stufe(StufeNr As Integer)
Dim wks As Worksheet
Dim Zeile As Long, Zeile_Letzte As Long, Auswahl As Long
Dim bolGeloescht As Boolean
Set wks = ActiveSheet
With wks
Zeile_Letzte = .Cells(.Rows.Count, 11).End(xlUp).Row
For Zeile = 2 To .Cells(.Rows.Count, 11).End(xlUp).Row
If .Cells(Zeile + 1, 11).Value > .Cells(Zeile, 11).Value And .Cells(Zeile, 11).Value =  _
StufeNr - 1 Then
.Cells(Zeile, 3).Select
Auswahl = MsgBox(StufeNr & ". Ebene löschen?" & vbLf _
& "Komponenten-Nr. " & .Cells(Zeile, 3).Value & vbLf _
& "Objektkurztext: " & .Cells(Zeile, 4).Value & vbLf, _
vbYesNoCancel + vbDefaultButton2, "Löschen von Teilen der Stufe " & StufeNr)
Select Case Auswahl
Case vbYes
'            Do Until .Cells(Zeile + 1, 11).Value   _
StufeNr 'Löscht Zeilen _
der Stufe bis Stufe mit Unterstufen beginnt
Do Until .Cells(Zeile + 1, 11).Value 

Anzeige
AW: jetzt mit Anhang
31.05.2013 12:18:19
stef26
Hallo Franz,
jaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!!!!!!!!!!
Super das ist genau das was ich gesucht habe.
Vielen herzlichen Dank, dass du dir hier so viel Zeit für mich genommen hast.
Besten Dank. Habs zwei mal getestet, funktioniert einfach klasse.
Werde mal versuchen den Code zu lesen um nachzuvollziehen zu können wie du das
hin bekommen hast.
Ich finds einfach nur klasse.
NOCHMAL DANKE DANKE DANKE
Du bist der BESTE !
1000x :-)
Stef26

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige