5.6k Aufrufe
Gefragt in Tabellenkalkulation von berpre Mitglied (452 Punkte)
Hallo Excel Freunde,

Möchte Euch mein Problem schildern und hoffe Ihr könnt mir helfen!

In einer vorhandenen Excel Vorlagen Datei ( Stückliste ) die seit Jahren in dieser Form verwendet wird sollen nachträglich Unterbaugruppen ( Positions Nummer ) hinzugefügt werden.
Die Stückliste besteht aus 3 Teilen
1 Stücklistenkopf A1 bis Q12
2 Eingabefelder A13 bis Q50
3 Ergebniszeile als Summen A51 bis Q51

Weitere Seiten sind adäquat.

Diese Zellen von A1 bis Q51 sind genau auf ein DIN A4 Blatt ausgerichtet dürfen und können von
der Anzahl der Zeilen und Spalten nicht verändert werden.

Die Stücklisten bestehen eventuell aus mehreren Seiten.
Nun kommt es vor, dass zusätzliche Positionen durch Bauteiländerung usw. eingefügt werden müssen.
Diese Änderungen sollen in der Position Zahl durch einen Punkt oder Bindestrich dargestellt werden.
Beispiel: Pos. 1.1 oder Pos. 1-1.
Da die Stückliste am Ende einer Seite eine Summenberechnung hat und bei der Eingabe
„Zeilen Einfügen „ auf den Anfang der 2 Seite springt, finde ich diese Lösung nicht dienlich.
Vorstellen könnte ich mir, eine Eingabe nach der letzten Eingabe der Positions Nummer zu machen und diese per VBA an die richtige Position zu setzen. Die Summenberechnung soll immer in der letzten Zeile einer Seite erscheinen.
Die nachträglich eingefügten Positionen sollen an der richtigen Stelle und Reihenfolge eingefügt werden, dadurch verschieben sich die andern Positions Nummern nach nach unten auf das 2te, 3te Blatt usw.
Dadurch soll eine chronologische Reihenfolge eingehalten werden z.B. Pos. 1, Pos 1.1, Pos 1.2, Pos 2, Pos 2.1, Pos 2.2 usw.

Im Forum habe ich nach intensiver Suche nichts finden können.
Gibt es in dieser Richtung was ?
Wie könnte man sowas lösen ?
Ist sowas überhaupt möglich ?

Im Anhang eine Excel 2003 Datei :
[/url]http://www.file-upload.net/download-3188045/Test_St-ckliste1.xls.html[/url]

Ich verwende Excel 2007

Für Hilfe und Unterstützung bedanke ich mich im Voraus.

Viele Grüße Berpre

19 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Berpre,

Einen Button zum zurücksetzen brauchst Du nicht.
Nach erfolgter Sortierung ist es mit dem Symbol "Rückgängig (gebogener Pfeil in der Symbolleiste)" möglich wieder auf die Ausgangsposition zurückzukommen.

Zu der von mir noch unbeantworteten Frage:
die Positionsnummern mit einem Bindestrich statt mit einem Komma zu versehen ist möglich:

>Extras
>Optionen
>International
>Trennzeichen vom Betriebssystem übernemen>Haken entfernen
>Dezimaltrennzeichen>Bindestrich einsetzen
>OK

Es sind dann aber generell alle Dezimalzahlen mit einem Bindestrich einzugeben, ob das sinnvoll ist?

Wenn alle Kriterien erfüllt sind müsste es auch in Deiner Testdatei genau so funktionieren wie in meiner Beispieldatei.

Vielleicht gelingt es Dir doch noch.

Mir fällt dazu leider nichts mehr ein.

schöne Grüße

Paul1

Excel 2003/XP prof.
0 Punkte
Beantwortet von berpre Mitglied (452 Punkte)
Hallo Paul 1,

Deine Anmerkung:
mit dem Symbol "Rückgängig (gebogener Pfeil in der Symbolleiste)" möglich wieder auf die Ausgangsposition zurückzukommen.

bin ich in dem Moment gar nicht darauf gekommen.
Ich weiß, der Wald....

Daher braucht ein weiterer Button zum zurücksetzen nicht angelegt werden.

Deine Ideen am Anfang und als Gesprächspartner haben mir sehr geholfen.

Paul 1, ich möchte mich für Deine Hilfe recht herzlich bedanken.

Gruß Berpre
0 Punkte
Beantwortet von berpre Mitglied (452 Punkte)
Hallo TheBlackBird,

Soll das heissen, dass die Zellen in Wahrheit mit Werten gefuellt sind? Warum ist das dann in der BeispielDatei nicht so?

Diese Zellen werden vom CAD Programm mit Daten belegt.

Deine Angaben sind so wie ich es mir vorstelle und möchte mich für Deine Arbeit und Hilfesrellung bedanken.

Gruß Berpre
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo an Alle!

@TheBlackBird,

Ich gratuliere Dir zu dieser hervorragenden Lösung!

Das Makro hat mich am meisten dahingehend beeindruckt, dass die mit Bindestrichen getrennten und als Text formatierten Pos. Nr. mittels VBACode zum Zweck der Sortierung in Zahlen umgewandelt werden können.


@Berpre

Ich hätte auch lieber die Lösung von @TheBlackBird genommen, da eventuell vorhandene Stolpersteine schon mit dem Makro ausgeräumt wurden (Text, Zahl, Bindestrich etc.)

schöne Grüße


Paul1
0 Punkte
Beantwortet von berpre Mitglied (452 Punkte)
Hallo Paul 1,

ich danke Dir für diese Info man kommt garnicht an der Lösung von
@TheBlackBird vorbei.

Gruß Berpre
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

- Ubertragszeilen (51, 90, etc.)
Diese Zellen werden vom CAD Programm mit Daten belegt.


Uih, wenn das so ist, und dadurch dann bei einem Druck auf den "SortierenButton" Werte in B51, B90, etc. vorhanden sind, dann wird das Ergebnis aber nicht passen, oder der Code sogar (je nachdem was dann in den Zellen steht) in einen Fehler laufen. Dies gilt es dann wohl nochmal eingehend zu testen. (Da muesste dann das Einsammeln der Werte vor dem Sortieren umgebaut werden, dass nur die zu sortierenden "Eingabefelder" eingelesen werden.)

Bleibt hingegen mind. SpalteB (Pos.) in den Uebertragszeilen sicher leer, dann werden die Zeilen eh vor dem entgueltigen Sortieren aus dem Array entfernt.

Teste das also nochmal ausgiebig, Berpre.

@Paul1
...zum Zweck der Sortierung in Zahlen umgewandelt werden können.

Dies war in meinen Augen notwendig, um bei den Vorgaben von Berpre eine passende Sotierung zu ermoeglichen. (Evtl. sollten dahingehend auch noch Fehleingaben der User abgefangen werden. (wie z.B. "--", Buchstaben in SpalteB, etc. pp.))
Die hin- und her- Formatiererei der SpalteB ("Standard", "Text") ist auch so eine "Kruecke", die mir aufgrund der Vorgabe (neue Unterpunkte mit "-" als Trenner) quasi aufgezwungen wurde. Andernfalls waeren wohl immer die kleinen Meldepfeile in den Ecken der Zellen ( "Zahl in Zelle ist als Text ..."). Oder aber, wenn leere Zellen als "Standard" formatiert waeren, wuerde die Eingabe von 1-1 wohl zu einem Datum umgewandelt werden.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von berpre Mitglied (452 Punkte)
Hallo TheBlackBird,

seit 2 Stunden teste ich intensiv die Stückliste und bin zu der gleichen Ansicht wie Du gekommen.
Hätte mich daher nochmals gemeldet.

Anmerkung:
Solange von dem CAD Prog Daten eingegeben werden ist dies in Ordnung. Wenn aber von dem CAD Prog Daten eingegeben werden und dann den Sortieren Button gedrückt wird, tritt Deine Aussage ein. Es dürfen in diesem Fall, wie Du angemerkt hast, nur die Eingabefelder eingelesen und sortiert werden.

Wenn Du mir bei diesem Problem, ich bin dafür nicht in der Lage, helfen könntest wäre ich Dir sehr Dankbar.

Gruß Berpre
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Ich hab das hier einmal entsprechend umgebaut. ( RE2_Stueckliste.xls )

Entgegen der ersten Idee, die Uebertragszeilen nicht mit einzusammeln, gehe ich hier den Weg, sie vor der "Sortiererei" aus dem Array zu entfernen. (Dies war fuer mich der einfachste Weg. ;-) )

Zusaetzlich habe ich einmal eine klitzekleine Absicherung gegen Fehleingaben eingebaut. Zumindest so, dass sie nicht zu einem Laufzeitfehler fuehren. Wie sie dann behandelt werden, sollen ein paar Beispiele in der Tabelle verdeutlichen.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von berpre Mitglied (452 Punkte)
Hallo TheBlackBird,

Deine Zauberei bring mich in Fastination.
Es gibt bestimmt noch weitere Ansätze für dieses Modul.
Man könnte noch, oder anders gesagt, Du könntest noch weiter Zaubern.
Das möchte ich nicht, man sollte sowas nicht als Forderung stellen, es ist fantastich wie du mir geholfen hast.

Nochmals allerbesten Dank für deine Hilfe.

Gruß Berpre
...