Herbers Excel-Forum - das Archiv

Lagerbestand

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Lagerbestand
von: Stefan

Geschrieben am: 04.01.2007 13:31:31
Hallo zusammen,
ich möchte, um mir Arbeit zu sparen, ein kleines "Script" für Excel erstellen um den Lagerbestand unserer Bücher leichter erfassen zu können.
Ich benötige für jedes Buch ein eigenes Datenblatt (Diese sind angelegt). Nun möchte ich auf einer Hauptseite (sprich Tabelle) eine Eingabemaske haben, an der ich das entsprechende Buch (anhand eines Dropdowns) sowie die Anzahl der Abgänge bzw Zugänge sowie eine Rechnungsnummer mittels Textfeld eingeben kann.
Die eingegebenen Werte sollen dann in die entsprechenden Arbeitsblätter geschrieben werden.
Optional wäre noch immer das aktuelle Datum bzw. ein am Anfang definiertes Datum mit einzupflegen.
Es handelt sich um ca. 15 Bücher.
Ich erwarte keine Komplettlösung, aber vielleicht hat jemand ja einen Ansatz bzw. eine Vorlage mit der ich Arbeiten könnte.
MFG
Stefan
Bild

Betrifft: AW: Lagerbestand
von: Michael

Geschrieben am: 04.01.2007 13:50:56
Also wo genau sollen die Daten denn hin? Existiert eine Tabelle mit den Namen der Bücher, wo dahinter die Menge eingetragen werden soll?
Am besten wäre ein Muster der Start- und Zieldatei bzw. wie das Ganze aussehen soll. Gerne auch an meine E-Mail, dann tüftel ich mal etwas...
Gruss Michael
Bild

Betrifft: AW: Lagerbestand
von: Stefan
Geschrieben am: 04.01.2007 14:14:10
Hallo,
hier die Datei:
https://www.herber.de/bbs/user/39369.xls
Liebe Grüße und dank vorab!
Stefan
Bild

Betrifft: AW: Lagerbestand
von: Andi
Geschrieben am: 04.01.2007 14:16:46
Hi,
ich werd mein gerade gepostetes Beispiel noch a bisserl an Deine Datei anpassen. meld mich gleich wieder...
Bild

Betrifft: noch ne Frage...
von: Andi
Geschrieben am: 04.01.2007 14:22:30
... soll auf dem Übersichtsblatt nur die Anzahl der Abgäbge, oder die Anzahl der Zu- und Abgänge verbucht werden?
Bild

Betrifft: AW: und noch ne Frage...
von: Andi
Geschrieben am: 04.01.2007 14:28:40
Hi,
und noch ne Frage:
Was soll in dem Buchblatt unter Anzahl stehen:
Die Abgänge bzw Zugänge, der Saldo aus beiden, oder der Bestand plus/minus den Salso aus beiden?
Schönen Gruß,
Andi
Bild

Betrifft: Und noch ne Antwort ;)
von: Stefan
Geschrieben am: 04.01.2007 14:51:57
Hallo Andi,
vernachlässige bitte die Zugänge, das passiert eh nur 1x im Jahr! Wichtig sind die Abgänge.
Danke
Stefan
Bild

Betrifft: AW: Und noch ne Antwort ;)
von: Andi
Geschrieben am: 04.01.2007 15:39:57
Hi,
so in etwa?
https://www.herber.de/bbs/user/39375.xls
Schönen Gruß,
Andi
Bild

Betrifft: AW: Und noch ne Antwort ;)
von: Stefan

Geschrieben am: 04.01.2007 15:53:37
Hallo,
schaut schon mal vielversprechend aus :) Danke schön.
4 Sachen hätte ich aber noch:
1.) Das die Textfelder nach dem Absenden wieder leer sind (Eingabemaske)
2.) Geht es, das man mit der Tab-Taste ins nächste Feld kommt? Oder muss ich jedes Mal meine Maus benutzen?
3.) Die Summe der Abgänge in der Übersicht errechnet sich nach jeder Eingabe? Allerdings nicht aus der Summe am Ende jedes Datenblattes, so das diese eigentlich gelöscht werden könnte, oder?
4.) Kann ich das Userform, also die Eingabemaske selber noch "bearbeiten"? Also etwas gestalten? (Bin leider net so firm in VBA)
Fragen über Fragen ;)
Danke dir für die Mühe :)
Stefan
Bild

Betrifft: AW: Und noch ne Antwort ;)
von: Andi

Geschrieben am: 04.01.2007 16:39:57
Hi,
zu 1.:
Hab ich so gemacht, allerdings nicht für die Datums-Textbox; im ersten posting hattest Du geschrieben, dass das aktuelle Datum oder ein anderes eingetragen werden soll, deshalb steht jetzt als default-Wert immer das aktuelle in der TextBox. Wenn Du die auch lieber leer hättest, dann kannst Du das im Code leicht selbst ändern:
Geh ins Modul der Tabelle, ins Click-Ereignis des CommandButton und ändere in der per Pfeil markierten Zeile das Date auf "".
zu 2.:
Nachdem es sich nicht um ein UserForm handelt sondern um eine Tabelle, nicht ohne Umweg, weil Steuerelemente für Tabellen keinen TabStop-Index haben. Man muss also für jedes Steuerelement festlegen, was passiert, wenn der Tabulator gedrückt wird, in diesem Fall also, welches Element als nächstes bzw als vorheriges (Tab+Shift) dran ist. Ich hab das schon umgesetzt, ich schreib das hier nur, damit Du verstehst, was in den KeyDown-Ereignissen passiert.
zu 3.:
Da hatte ich noch nen kleinen Fehler drin, aber jetzt isses so wie Du schreibst. Die Abgänge werden in der Übersicht direkt aus der TextBox draufaddiert, ohne Umweg über die Summe auf dem Buch-Blatt. Wenn Du die also sonst für nix brauchst, kannst Du die Zeile auch löschen.
zu 4.:
Wie gesagt, is kein UserForm sondern ne Tabelle mit Steuerelementen.
Geh mal im VBA-Editor auf "Ausführen" und dann auf "Entwurfsmodus". Jetzt kannst Du in der Tabelle die Steuerlemente beliebig verschieben.
So, und zur fertigen Datei geht's hier:
https://www.herber.de/bbs/user/39380.xls
Schönen Gruß,
Andi
Bild

Betrifft: AW: Und noch ne Antwort ;)
von: Stefan

Geschrieben am: 04.01.2007 18:15:00
Fast perfekt.
Echt klasse, dass das so schnell funktioniert.
Wenn jetzt noch der Absenden Button per Tag angesteuert werden kann und mittels Return auslöst hab ich alles was ich brauch...
Am Wochenende werde ich dann mal versuchen alles zu verstehen ;)
Gruß und 1000 x Danke
Stefan
Bild

Betrifft: AW: Und noch ne Antwort ;)
von: Andi

Geschrieben am: 05.01.2007 10:01:57
Hi,
auch das habe ich noch eingebaut.
Nachdem CmdButtons in Tabellen normalerweise nicht auf die Entertaste reagieren, mussten wir auch hier dem Umweg über das KeyDown-Ereignis gehen. Weil das Eintragen ja nun in zwei Ereignissen passieren soll (KeyDown und Click) hab ich den entsprechenden Code in ein Standardmodul ausgelagert.
Nachdem Du schreibst, dass Du das alles auch verstehen willst, was da passiert, hab ich Dir den Code mal ein bisschen kommentiert.
https://www.herber.de/bbs/user/39400.xls
Schönen Gruß,
Andi
Bild

Betrifft: Eine Kleinigkeit
von: Stefan

Geschrieben am: 05.01.2007 11:09:04
Hallo,
Funktioniert wunderbar, echt super das du nun auch alles kommentiert hast :) Vielen Dank.
Nun habe ich aber noch eine Kleinigkeit, was ist, wenn ich mich einmal vertippt habe, und nachträglich den Abgang in der entsprechenden Tabelle ändere. Dann müsste sich ja der Bestand auch ändern! Aber wie ich sehe, errechnet sich der Bestand nur bei jeder Eingabe.
Hast du eine Idee?
Gruß und nochmals vielen vielen Dank
Stefan
Bild

Betrifft: AW: Eine Kleinigkeit
von: Andi

Geschrieben am: 05.01.2007 13:20:57
Hi,
also die einfachste Möglichkeit wäre, dass Du sowas mit einer erneuten Eingabe korrigierst; bei den Abgängen können auch negative Werte eingegeben werden, das wird dann auf den Bestand einfach draufgerechnet. Statt einer Rechnungsnummer könntest Du zB 'Korrektur' eingeben oder so.
Die nächste Möglichkeit wäre, dass man die Spalte G in der Übersicht eben doch per Verknüpfung über die Summenzeilen der Buch-Blätter ausfüllt. Dann müsstest Du im Modul1 in der Eintragen-Routine folgendes löschen:
With Sheets("Übersicht")
For zeile = 8 To .Range("A65536").End(xlUp).Row 'Schleife durchsucht die Übersicht nach der richtigen Zeile für das entsprechende Buch; Find-Methode geht hier nicht wegen verbundenen Zellen
If .Range("A" & zeile) = Sheets("Eingabemaske").ComboBox1.Value Then
.Range("G" & zeile) = .Range("G" & zeile) + Sheets("Eingabemaske").TextBox3.Value 'Abgänge werden in Spalte G draufaddiert
Exit For
End If
Next zeile
End With
Sicherlich gäbe es auch die Möglichkeit komplett per Makro mit dem Workbook_SheetChange-Ereignis die manuellen Änderungen abzufragen und entsprechend zu bearbeiten. Dies stellt aber nur einen Mehr-Aufwand gegenüber der zweiten Lösung dar, keinen Mehr-Wert.
Was mir noch aufgefallen ist:
In der ComboBox taucht auch das Übersichtsblatt auf; um das zu vermeiden, müsstest Du noch im Modul 'DieseArbeitsmappe' im Open-Ereignis die Schleife so ändern:
For a = 1 To Sheets.Count 'Schelife, die alle sheets außer der Eingabemaske und der Übersicht in die Combobox schreibt
If Sheets(a).Name <> "Eingabemaske" And Sheets(a).Name <> "Übersicht" Then Worksheets("Eingabemaske").ComboBox1.AddItem Sheets(a).Name
Next a
Schönen Gruß,
Andi
Bild

Betrifft: AW: Eine Kleinigkeit
von: Stefan

Geschrieben am: 08.01.2007 13:16:03
Hallo Andi,
hat bislang alles wunderbar funktioniert. Habe nun auch schon alles soweit angepasst, wie ich es benötige. Leider funktioniert aber meine Summe nicht, da die einegegebenen Stückzahlen als Text formatiert sind. Kannst du mir noch auf die Sprünge helfen, was ich ändern muss? Eine Vorformatierung als Zahl hat nichts gebracht.
Liebe Grüße
Stefan
Bild

Betrifft: AW: Eine Kleinigkeit
von: Andi

Geschrieben am: 08.01.2007 16:41:18
Hi,
so geht's:
https://www.herber.de/bbs/user/39486.xls
Der Trick ist folgender in der eintragen-Routine:
.Range("C" & zeile) = Val(Sheets("Eingabemaske").TextBox3)
statt
.Range("C" & zeile) = Sheets("Eingabemaske").TextBox3
Schönen Gruß,
Andi
Bild

Betrifft: AW: Lagerbestand
von: Andi

Geschrieben am: 04.01.2007 14:08:58
Hi,
hab Dir mal ein Beispiel gebastelt:
https://www.herber.de/bbs/user/39368.xls
Standardmäßig ist immer das aktuelle Datum, es kann aber ein beliebiges anderes eingegeben werden.
Code ist in den Modulen "DieseArbeitsmappe" und "Hauptseite"
Sag bescheid, wenn da noch was angepasst werden muss.
Schönen Gruß,
Andi
 Bild
Excel-Beispiele zum Thema "Lagerbestand "
Artikel im Lagerbestand austragen Anpassung des Lagerbestands bei Ein- und Ausgang