Nachtrag Hallo Yasemin, ich habe vergessen dir zu schreiben wie man die Eingabe buchen soll. Unter dem Text "Abgang" ist ein Feld mit dem Text: "beenden mit aa". In diese Zelle kannst du einen beliebigen Doppel Buchstaben schreiben, aa, bb, cc Das Makro erkennt daran das du jetzt buchen willst. Es erfolgt noch eine Prüung ob alle Zellen einen Wert haben, und es wird in der Lagerkarte geprüft ob die Bestell-Nr. bereits existiert? Dann wird die Eingabe verweigert. Nach dem buchen schreibe ich eine Kopie in Spalte H. Vergessen habe ich die Option das Blatt nach dem buchen -zu schützen-. Das ergaenze ich noch.
Wichtig ist im Augenblick das du festlegst wie das "Eingabe buchen Blatt" optisch aussehen soll. Dabei spielen für mich Schriftart, grösse, Schriftfarbe, Innenfarbe & Rahmen keine Rolle. Das kannst du frei gestalten. Fürs Makro muss ich nur wissen ob sich Zellen in andere Spalten, Zeilen verschoben haben. Dann muss ich die Makro Adressen aendern!
Ich warte jetzt erst einmal deine Rückmeldung ab, probiere das Makro in der Beispieldatei auf Fehler, da kann nix passieren, dann können wir alles in einem Rutsch bereinigen. Ich freue mich wenn der Entwurf so ungefaehr ankommt.
anbei die tabelle "Lagerbestand_06.xlsx" im anhang.
wurde weiter optimiert und an #01-vorlage angepasst. soll heißen, dass die bestellnummer frei wählbar ist. somit kann bspw. eine betriebsinterne "angabe" als eingaben erfolgen aber auch "Inverntur" kann angegeben werden. der "meldebestand" entsprich hier der doppelten "mindestmenge". unter dem "namensmanager" in Excel kann mit "MeBeFaktor" hierbei eine individuellle Anpassung erfolgen.
die tabelle "Lagerbestand_06.xlsx" ist bspw. auf den Artikel "P0003" und Din A4 zur Darstellung einer "Lagerbestandskarte" eingestellt.
erfreulich wieviele Vorschläge du bekommst. In meiner Datei hatte ich beim Testen einen Fehler entdeckt, und habe ein neues Makro eingefügt. Im Makro Dialog findest du das Makro "Lagerkarten_Zellschutz_Installieren". Damit werden in allen Lagerkarten die gebuchten Zellen für weitere Eingaben gesperrt. Die unbenutzten Zellen bleiben frei. Du must nur Makro ausführen drücken, das ist alles. Der Blattschutz ist -ohne Passwort- das weiss aber keiner!!
Wenn du über den Button "Buchung ansehen" in eine Lagerkartei springst, wie kommst du weider zurück ins Eingabeblatt?? Sehr einfach - du klickst ab Spalte T eine Zelle an, dann springst du über Target Makro automatisch in die Eingabe zurück. Ich bin gespannt wie dir meine Arbeit gefällt??
1. Verzichte auf 'merged cells' 2. Verzichte auf 'Select' und 'Activate' in VBA 3. Ein Msgbox Im Userform sieht etwas merkwürdig aus. 4. Speichere Userform code in Codemodule des Userforms.
1. Verzichte auf 'merged cells' 2. Verzichte auf 'Select' und 'Activate' in VBA 3. Ein Msgbox Im Userform sieht etwas merkwürdig aus. 4. Speichere Userform code in Codemodule des Userforms.
Wie ist es denn, wenn ich mehrere Artikel einfüge? Bleibt die Datei immer noch übersichtlich?
ich gehe einmal auf den Vorschlag von snb ein und habe die Produktkarte wegen der "mergecells" Probleme überarbeitet Wenn du noch mehr Felder zur Produkt Information brauchst kannst du sie ja noch einfügen. Ein kleiner Irrtum von mir war der Gedanke das diese Datei mit mehreren 100 Lagerkarten mit aktuellen Daten bereits existiert. Offenbar ist sie aber noch im Aufbau begriffen, d.h., das Aussehen der Produktkarten kannst jetzt noch problemlos festgelegt werden!
Es gibt ja auch andere Lösungsvorschläge, aber wie ich sehe noch keinen Vorschlag mit einer Makro Lösung zum Thema buchen. Meine Bitte: in absehbarer Zeit muss ich aus privaten Gründen pausieren. Möchte bezügliich des Programms soweit ich kann noch behilflich sein. Das sollte dann aber bitte zügig in Angriff genommen werden.
Was ist mit meiner Beispieldatei "Lagerbestand Gast 3F", hast du das Eingabeblatt zum buchen einmal getestet? Wenn die Produktkarte sich von den Spalten her ändert kann das Makro leicht umgeschrieben werden. Wichtiger ist ob die Idee es so zu machen im Prinzip Okay ist? Es gibt ja die Auswahl zwischen ComboBox oder Listenfeld benutzen. Was ist besser? Da sollten wir klären wieviel ich noch zum Thread beitragen kann.
Zitat:Wie ist es denn, wenn ich mehrere Artikel einfüge? Bleibt die Datei immer noch übersichtlich?
Die Frage habe ich nicht verstanden, weil ja von mehreren hundert Artikeln und somit hunderten Lagerkarten gesprochen wurde. Die Übersicht ergibt sich aus einem Übersichtsblatt. Dazu gibt es bereits mehrere Lösungsvortschläge im Forum, das kann man über Formeln machen. Mir geht es in erster Linie um die Makro Programmierung, denn in einzelne Lagerkarten buchen kann man nicht mit Formeln erledigen! Ich denke das gute Kollegen beim Thema Übersicht weiterhelfen.
31.08.2016, 09:50 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2016, 09:50 von Yasemin61.)
Ich habe mir all eure Dateien angeschaut und habe etwas herumexperimentiert. Nun habe ich entschlossen für jede Produktklasse (ca. 50 Artikel) eine eigene Excel-Datei zu führen. Ich habe wieder mein 'Datenblatt' wo ich die Produkte suchen kann. Über den Lagerbestandskarten habe ich eine Schaltfläche die ich anklicke und die mir mit einer messagebox fragt, ob es beispielsweise zugang oder abgang ist. Ich habe mein Makro mal hinzugefügt. Sub Schaltfläche2_Klicken() ' ' Schaltfläche2_Klicken Makro '
Dim Bestellnummer As String Dim Datum As String Dim Text As String Dim Zugang As String Dim Abgang As String Dim Prüfer As String
gotoBestellnummer: PosNr = InputBox("Bestellnummer?", Title) If PosNr = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoBestellnummer End If
gotoDatum: Produkt = InputBox("Datum?", Title) If Produkt = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoDatum End If
gotoText: Länge = InputBox("Text?", Title) If Länge = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoText End If
gotoZugang: güteundlieferzustand = InputBox("Zugang?", Title) If güteundlieferzustand = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoZugang End If
gotoAbgang: Liefervorschrift = InputBox("Abgang", Title) If Liefervorschrift = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoAbgang End If
gotoPrüfer: Stück = InputBox("Prüfer?", Title) If Stück = "" Then MsgBox ("Bitte geben Sie etwas ein!") GoTo gotoPrüfer End If
If MsgBox("Möchten Sie weitere Artikel hinzufügen?", vbQuestion + vbYesNo) = vbYes Then artikelAnzahl = artikelAnzahl
Else End If
Ich habe jedoch folgendes Problem. Ich möchte nur, dass ich die Eintragungen mache und diese dann zeile für zeile eingetragen werden. Wenn beispielsweise noch ein weiterer Artikel hinzukommen soll, soll er dies in die nächste Zeile eintragen.
ist zwar nicht die schönste Programmierweise, aber ich bleibe mal bei Deinen Spriungmarken.
In diesem Teil könntest Du auf Wunsch das Makro nochmal durchlaufen lassen. Die Artikelanzahl muss natürlich dann auch um 1 erhöht werden. Ich habe im Code nur nichts gefunden, wo Du die Artikelanzahl erst mal feststellst. Ich nehme wegen der fehlenden Dimensionierung an, dass das irgendwo in einem anderen Makro geschieht und Du die Variable global dimensioniert hast.
Code:
If MsgBox("Möchten Sie weitere Artikel hinzufügen?", vbQuestion + vbYesNo) = vbYes Then artikelAnzahl = artikelAnzahl + 1 Goto gotoBestellnummer End If
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
anbei die tabelle "CEF_LagerBestandsKarte07.xlsb" im anhang.
die tabelle funktioniert mit makros, ist einfach geschütz (ohne passwort)...
bedauerlicherweise ist yasemin61's mitteilsamkeit nur gering und sollte eigendlich nicht gefördert werden. die anhängige tabellle ist excel-like. da kaum eckwerte mitgeteilt wurden, wurden diese selbst gestrickt (ermittelt).
vorgaben yasemin61: - einige hundert produkte/artikel ????? => oder min 201 bis max 999, naja dann 1000 (worst case) - eine lagerbestandskarte (entwurf) mit 17 zeilen => angesetzt 20* Eingang/Ausgang und 2 Inventuren = 42 bewegungen
die tabelle "CEF_LagerBestandsKarte07.xlsb" ist für 42 * 1000 = 42000 buchungen und 1000 produkte/artikel ausgelegt. daraus folgt: - Tabellenblatt "Warenbuchung" als buchungscontainer für buchbwegungen - Tabellenblatt "Artikel_Liste" als buchungscontainer für produkte/artikel - Tabellenblatt "Lagerbestandskarte" keine.
die lagerbestandskarte(n) wird/werden mit auswahl produkte/artikel durch makros generiert. äußerliche anpassungen der tabellenblätter an drucker/excelversion müssen vor ort erfolgen...
wenn die tabelle (sicherlich verbesserungswürdig) gefällt, reicht es vielleicht dann auch für eine spende an das CEF-Forum...