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

Forumthread: Lagerverwaltung Userform

Lagerverwaltung Userform
07.12.2022 23:21:32
Lamm
Hallo liebe Excel-Gemeinde,
ich brauche eure Hilfe. Ich versuche eine Lagerverwaltungsdatei nach meinen Bedürfnissen zu erstellen.
Dazu habe ich unzählige Videos geschaut aber nicht alles klappt es bei mir wie auf dem Video.
Ich habe eine UserForm erstellt, womit ich die neue Produkte in die Datentabelle (Sheet Datenbank) anlege. Das funktioniert.
Ferner möchte ich die Produkte in der gleichen UserForm bearbeiten können. Ich möchte in das Feld "ArtikelNr" den ArtikelNr händisch eingeben oder den Code einscannen-> alle Artikeldaten aus der Tabelle erscheinen in UserForm -> ich kann die Daten bearbeiten.
2te Frage: Ich habe ein Makro erstellt: sobald ich das Makro aktiviere wird die markierte Zeile in der Datenbank ausgeschnitten und in die Tabelle "Eingabeformular" kopiert. Es wird immer in die Zeile 12 und 13 kopiert und mit weiteren Datensätzen überschrieben. Ich möchte aber, dass es untereinander eingefügt wird.

Sub ArtikelLoeschen()
'Abfrage, ob Artikel wirklich gelöscht werden soll
Dim Antwort
Antwort = MsgBox("Soll der Artikel wirklich gelöscht werden?", vbYesNo + vbQuestion, "Artikel löschen?")
If Antwort = vbYes Then ActiveCell.EntireRow.Copy Sheets("Eingabeformular").Range("12:12").End(xlUp).Offset(12).Value
If Antwort = vbYes Then ActiveCell.EntireRow.Delete
End Sub
3te Frage: ich möchte auch, dass das Datum in das letzte Feld eingefügt wird.
Kann mir bitte, bitte jemand helfen?
https://www.herber.de/bbs/user/156578.xlsm
LG Dieter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Lagerverwaltung Userform
08.12.2022 08:05:36
MCO
Guten Morgen, Dieter!
Deine Makros zur Userform hab ich angepasst, sollte alles soweit laufen. Du wirst schon durchsteigen...
Was du noch ändern könntest: Die Kategorien hast du jetzt mit Checkboxen eingebracht, hier sind aber mehrere Optionen anzuklicken möglich. Und wie diese Aussage schon zeigt, eignen sich hier die OPTIONBUTTONS. Hier ist immer nur 1 aus der Gruppe der Knöpfe anzuwählen, und wenn einer in der UF vorgewählt ist, ist auch immer einer WAHR.
Die Knöpfe "erfassen" und "ändern" haben jetzt die gleiche Funktion: Es wird erst nach der Nummer gesucht, ggf überschrieben.
https://www.herber.de/bbs/user/156583.xlsm
Viel Erfolg, weiterhin
Gruß, MCO
Anzeige
AW: Lagerverwaltung Userform
08.12.2022 11:25:38
Dieter
Guten Morgen,
vielen Dank MCO für deine Hilfestellung.
Ich habe aber noch Fragen:
zu1: wenn ich richtig verstehe, brauche ich den Button "Ändern" nicht mehr, oder?
zu2: ich wollte, dass aus Tabellenblatt "Datenbank" die ausgewälte Zeile ausgeschnitten wird und in Tabellenblatt "Eingabeformular" untereinander ab Zeile 12 eingefügt wird.
zu3: ich möchte, dass mit dem Klick auf "Daten erfassen" im letzten Feld "Datum" auch das Datum und evtl. Uhrzeit (optional) eingefügt wird.
Könntest du mir/könnte mir jemand weiterhelfen?
Vielen Dank im Voraus.
LG Dieter
Anzeige
AW: Lagerverwaltung Userform
08.12.2022 12:24:40
MCO
Hallo Dieter!
Zu 1: richtig.
Zu 2: ausschneiden? Ich denke eher kopieren. Was auch immer, beide Zeilen hab ich eingebaut:

Sub Datenbankzeile_to_Formular()
Dim rng As Range
Dim acr As Single
Dim cpy_rng As Range, to_rng As Range
acr = ActiveCell.Row
Set cpy_rng = Range(Cells(acr, "B"), Cells(acr, "M"))
lz_B = Sheets("Eingabeformular").Cells(Rows.Count, "B").End(xlUp).Row
Set to_rng = Sheets("Eingabeformular").Cells(lz_B + 1, "B")
cpy_rng.Copy to_rng    'kopieren
cpy_rng.Cut to_rng    'ausschneiden
End Sub
Zu 3:
Ersetze

    Cells(last, 13).Value = TextBox_Datum    'Datum
durch

    Cells(last, 13).Value = Now()
Damit kannst du dir das Feld "Datum" in der Userform natürlich auch sparen. Es wird immer der aktuelle Zeitpunkt verwendet. Das war aber in der ursprünglichen Anforderung nicht definiert.
Viele Erfolg!
Gruß, MCO
Anzeige
AW: Lagerverwaltung Userform
08.12.2022 13:28:08
Dieter
Hallo MCO,
du hast mir sehr geholfen, vielen, vielen Dank.
Kann ich in UserForm im Feld ArtikelNr den Code auch einscannen, oder muss da was hinzugefügt werden?
LG Dieter
Scannen
09.12.2022 08:16:39
MCO
Moin!
Ne, der Scanner liefert den fertigen Text bzw Zahlen.
In der Scannerkonfiguration kannst du noch bestimmen, ob der Abschluss des Scans mit/ ohne Tab/Enter erfolgen soll. Damit kannst du dann eine Eingabe im Formular sofort bestätigen. Das ist aber nicht Excel sondern Scannersache.
Gruß, MCO
Anzeige
AW: Scannen
09.12.2022 11:06:07
Dieter
Vielen Dank MCO,
für deine Hilfe. Ich habe etwas angepasst und es funktioniert perfekt.
Es soll eine Lagerverwaltungstabelle sein. Ich bin aber noch nicht schlüssig wie ich die Buchung vornehme wenn der Artikel verkauft ist.
Ich stelle mir eine UserForm mit Preis, Kunde, Datum vor, wo ich die Daten eingebe und in einem Tabellenblatt abspeichere und eine Rechnung ausstellen kann.
An der UserForm bastelle ich momentan. Könntest du mir auch da helfen?
https://www.herber.de/bbs/user/156617.xlsm
LG Dieter
Anzeige
AW: Scannen
09.12.2022 17:00:26
Piet
Hallo
warum der Umweg über eine UserForm? Man kann die Daten doch direkt in eine druckbare Rechnungs Tabelle schreiben.
Wenn man den Druckbereich festlegt, kann man ausserhalb des Druckbereichs DropDown oder Listenfelder mit Kunden Nr., Artikeldaten usw. anlegen, und durch simples anklicken diese Daten direkt in die zu erstellende Rechnung übernehmen. Ist das nicht einfacher?
mfg Piet
Anzeige
AW: Scannen
09.12.2022 21:32:09
Dieter
Hallo Piet,
daran habe ich nicht gedacht. Wenn du mir helfen könntest wie du es meinst, würde ich mal gerne anschauen.
Der Umweg über UserForm ist, um die Verkaufsdaten einzugeben. Aber vielleicht denke ich zu kompliziert.
LG Dieter
AW: Lagerverwaltung Userform
10.12.2022 15:22:04
Piet
Hallo
freut mich das du weitermachen willst. Habe heute aber keine Zeit, melde mich wieder.
mfg Ğiet
Anzeige
AW: Lagerverwaltung Userform
13.12.2022 21:59:43
Piet
Hallo
anbei deine Beispieldatei mit einem ersten Entwurf zurück. Ich habe eine UserForm für einen Lieferschein entwickelt. Der Vorteil ist, dass man beim Listenfeld 7 Spalten sehen kann, statt einer!
Schau bitte mal ob das deiner Vorstellung entsprich. Wie Lieferschein und Rechnung genau aussehen sollen musst du bitte selbst entwickeln. Ich konzentriere mich auf das Makro programmieren.
https://www.herber.de/bbs/user/156713.xls
Mich wundert ein bisschen das deine Tabellen mit Zeile 11 begnnen, statt mit Zeile 1. Hat das einen Grund?
Ich warte mal deine Rückmeldung ab. Korrigiere Rechnung und Lieferschein das sie so aussehen wie du sie verwenden willst. Zeilen und Spalten können sich dabei noch verschieben.
Hinweis: - mein Beispiel ist eine alte Excel 2003 Datei, weil ich zur Zeit nur einen alten XP Laptop zur Verfügung habe. Deshalb sind die Spalten zusammengerückt, mein .Bildschirm ist klein.
mfg Piet
Anzeige
AW: Lagerverwaltung Userform
16.12.2022 00:08:00
Dieter
Hallo Piet,
vielen, vielen Dank für deine Hilfe, aber ich bin durcheinander gekommen (nicht wegen dir sondern mangels meiner VBA-Kenntnise)
Ich habe versucht dein Code durchzublicken, aber mangels VBA-Kenntnise aufgegeben.
Ich habe nochmal die Tabellenspalten angepasst, was für mich relevant ist. Bitte nicht böse sein.
Meine Tabelle beginnt in Zeile 11 weil oben Logo und ein paar Buttons kommen.
Ich möchte in dem Tabellenblatt Datenbank (sollte vielleicht besser Lagerbestand heißen) meine Artikel mit UserForm auflisten, erfassen, suchen und ändern können.
Sobald ein Artikel verkauft ist, sollte jeweilige Zeile gelöscht werden und in in Tabellenblatt Eingabeformular( besser vielleicht Buchung heißen) nacheinander eingefügt werden. Dabei sollte ein UserForm aufgehen, wo ich die Verkaufsdaten eingeben kann. Beide UserForm habe ich erstellt und bei Formulare eingefügt.
Aus diesen Eingabeformular_Buchung nehme ich die Daten für die Rechnung und Umsätze für den Dashboard.
So ist meine Idee.
Piet, du hast schon einige Macros geschrieben, könntest du bitte noch die Macros anpassen?
Vielen Dank für deine Mühe.
https://www.herber.de/bbs/user/156764.xlsm
LG Dieter
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Lagerverwaltung mit Excel: UserForm und VBA optimieren


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen:

    • Öffne Excel und gehe zu Entwicklertools > Visual Basic.
    • Erstelle eine neue UserForm für die Artikelverwaltung.
    • Füge Textfelder für die Artikelnummer, Artikeldaten und das Datum hinzu.
  2. Makro zur Datenbearbeitung:

    • Verwende den folgenden VBA-Code, um die markierte Zeile in der Datenbank auszuschneiden und in die Tabelle "Eingabeformular" zu kopieren:
      Sub ArtikelLoeschen()
      Dim Antwort
      Antwort = MsgBox("Soll der Artikel wirklich gelöscht werden?", vbYesNo + vbQuestion, "Artikel löschen?")
      If Antwort = vbYes Then 
         ActiveCell.EntireRow.Copy Sheets("Eingabeformular").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)
         ActiveCell.EntireRow.Delete
      End If
      End Sub
  3. Artikelnummer scannen:

    • Stelle sicher, dass der Scanner so konfiguriert ist, dass er den Scan mit einem Tab oder Enter abschließt, um die Eingabe im Formular zu bestätigen.
  4. Datum automatisch einfügen:

    • Füge den folgenden Code in das entsprechende Makro ein, um das aktuelle Datum und die Uhrzeit zu erfassen:
      Cells(last, 13).Value = Now()
  5. Daten in die Datenbank einfügen:

    • Um die Daten in die Datenbank einzufügen, passe den VBA-Code entsprechend an, sodass die Daten untereinander eingefügt werden.

Häufige Fehler und Lösungen

  • Fehler: Artikel werden nicht richtig in das Eingabeformular eingefügt.

    • Lösung: Überprüfe den Offset-Wert im Range-Befehl, um sicherzustellen, dass die Daten in die richtige Zeile eingefügt werden.
  • Fehler: Das Datum wird nicht korrekt eingefügt.

    • Lösung: Stelle sicher, dass der Code Now() korrekt implementiert ist und dass das Ziel-Feld als Datum formatiert ist.

Alternative Methoden

  • Direkte Dateneingabe: Anstatt eine UserForm zu verwenden, kannst du eine einfache Excel-Tabelle für die Lagerverwaltung nutzen. Hierbei kannst du Drop-Down-Listen für die Artikel und Kundeninformationen erstellen.

  • Einfache Lagerverwaltung Excel: Nutze vorgefertigte Templates, die du im Internet findest, um Zeit zu sparen und eine einfache Lagerverwaltung zu implementieren.


Praktische Beispiele

  • Beispiel für einen Lieferschein:

    • Erstelle eine separate UserForm für die Erstellung eines Lieferscheins mit den erforderlichen Feldern.
    • Verwende eine Datenbank, um Artikelinformationen abzurufen und in den Lieferschein zu übernehmen.
  • Beispiel für eine Lagerbestandsverwaltung:

    • Verwende eine Excel-Tabelle, in der du alle Artikel mit ihren Beständen auflistest.
    • Erstelle ein Makro, das die Bestände automatisch aktualisiert, wenn ein Artikel verkauft wird.

Tipps für Profis

  • VBA-Optimierung: Nutze Funktionen und Subroutinen, um deinen Code modularer und einfacher wartbar zu gestalten. Dies ist besonders wichtig, wenn du eine komplexe Datenbank für die Lagerverwaltung aufbaust.

  • Scannerintegration: Stelle sicher, dass der Scanner so konfiguriert ist, dass er die Eingaben direkt in die UserForm überträgt. Dies verbessert die Effizienz der Artikelverwaltung.


FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Lagerverwaltung selbst erstellen? Du kannst eine Excel-Tabelle erstellen, in der du alle Artikel, deren Bestände und Verkaufsdaten auflistest. Ergänze dies mit einer UserForm für eine benutzerfreundliche Eingabe.

2. Welche Excel-Version benötige ich für die VBA-Programmierung? Die VBA-Programmierung ist in Excel 2007 und neueren Versionen verfügbar. Es wird empfohlen, eine aktuelle Version zu verwenden, um alle Funktionen optimal nutzen zu können.

3. Kann ich die UserForm auch mit einem Scanner verwenden? Ja, dein Scanner sollte so konfiguriert sein, dass er die Artikelnummer direkt in das Textfeld der UserForm eingibt. Achte darauf, dass der Abschluss des Scans korrekt eingestellt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige