Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Bestand

Excel Bestand
25.03.2015 12:54:32
Matze
Hallo Leute,
ich habe ein Problem.
ich würde gerne eine Exceltabelle erstellen wie in meiner Beispieldatei.
nun habe ich aber keine Ahnung von VBA und nur mit Excelformeln geht es leider nicht.
könnt ihr mir dabei helfen.
Funktionsbeschreibung:
Jeden Artikel den ich der Tabelle 2 einfüge kann man dann automatisch im "WAS" in der Tabelle 1 auswählen.
in der Spalte (B)"Datum" soll immer das Aktuelle Datum stehen.
In der Spalte (C) "Wareneingang Warenausgang" soll man immer nur auszuwählen sein ob Wareneingang oder ausgang.
In Spalte (D)"Wer" soll immer der Angemeldete Username stehen.
Ich öffne die Datei und klicke auf Warenein oder ausgang nun trägt excel automatisch das Datum in die Zeile und mein usernamen.
Jetzt wähle ich aus was den raus oder reingegangen ist und wieviel.
dementsprechend rechnet er "+" oder "-" bei dem Bestand des ausgewählten Artikels.
danach speicher ich ab
auf die Vorranggegangenden Zeilen kann man nur Als Admin zugreifen.
ich hoffe es geht und macht euch nicht zu viele Umstände
Beispieldatei:
https://www.herber.de/bbs/user/96625.xlsx

Anzeige

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Excel Bestand
26.03.2015 06:33:29
Matze
ich bedanke mich erstmal bei euch beiden das ist genau das was ich brauche echt klasse vielen Dank!!!! wenn ich fragen habe Frage ich nochmal

Anzeige
AW: Excel Bestand
25.03.2015 16:51:40
fcs
Hallo Matze,
ich würde die Eingaben oberhalb der eigentlichen Tabelle machen und die Eingaben per Button in Liste Übertragen.
Hier deine Datei mit entsprechenden Makros.
https://www.herber.de/bbs/user/96632.xlsm
Das Kennwort für den Blattschutz ist im Code vorbereitet. Im Moment ist es aber noch "".
Gruß
Franz

Anzeige
AW: Excel Bestand
26.03.2015 09:08:49
Matze
ich hätte da noch ein paar Fragen an "fcs".
soweit funktioniert es super.
nun ist es so das wir eine Benutzerkennung haben ich möchte aber zu der Benutzerkennung einen Namen hinterlegen da dann in der Liste nicht die Kennung steht sonder der von mir angegebene Name zu der Benutzerkennung.
Beispiel
Benutzer: ZD003TR führt eine Warenentnahme durch.
nun steht da
Zeit Warenentnahme ZD003TR Was und Menge
statt ZD003TR soll aber "Markus Hardi" stehen
und wnen sich Benutzerkennung XY dasteht soll name XY dastehen...von mir vergeben

Anzeige
AW: Excel Bestand
26.03.2015 09:30:18
Matze
wir kann ich das ändern das nicht nur das Datum sondern auch die zeit angezeigt und übernommen wird geht das auch?

AW: Excel Bestand
26.03.2015 11:50:53
fcs
Hallo Matze,
deine Wünschte kann man alle umsetzen.
1. Zeit statt Datum
In Zelle B1 die Formel ändern in =JETZT() und das Format in Spalte B ändern in ein benutzserdefiniertes Format so dass Datum und Zeit angezeigt werden. z.B. TT.MM.JJ hh:mm
2. Klarname statt Username/Userkennung
Das ist etwas komplizierter.
2.1 Blatt "AWL"
- in Spalte C die User-Kennungen eintragen, in Spalte D zu zugehörigen Namen.
2.2 Blatt "Warenein- oder ausgang"
2.2.1 Zelle A1
- den Zell-Schutz deaktivieren - in A1 wird vom Makro die Userkennung eingetragen
2.2.2 Zelle D1
- folgende Formel eintragen: =SVERWEIS(A1;AWL!$C:$D;2;FALSCH)
- den Zell-Schutz aktivieren - Formel soll gegen Änderungen geschützt sein
2.3 Makros anpassen
Ersetze im VBA-Editor den Code unter der Tablle "Warenein- oder ausgang" durch den nachfolgenden.
Das Makro prüft, ob der angemeldete User in der Liste steht, und läßt ggf. keine Buchung zu.
Gruß
Franz
Option Explicit
Private Const pw As String = "" 'Password für Blattschutz hier anpassen _
bevor eine Buchung getätigt wird
Private Sub CommandButton1_Click()
'Buchen-Button
Dim Zeile_L As Long, ZelleWas As Range
Dim bolWE As Boolean, varWas As Variant, dblWieviel As Double
With Me
.Range("A1").Value = VBA.Environ("Username")
.Calculate
'Eingabewerte prüfen
If fncUserCheck(rngZelle:=Me.Cells(1, 4)) = False Then
Exit Sub
ElseIf .ComboBox2.ListIndex = -1 Then
MsgBox "Bitte in der Combobox Wareneingang oder Warenausgang wählen", _
vbOKOnly, "Prüfung Eingabewerte - WE/WA"
Exit Sub
ElseIf .ComboBox1.ListIndex = -1 Then
MsgBox "Bitte in der Combobox ein Material wählen", _
vbOKOnly, "Prüfung Eingabewerte - Material"
Exit Sub
ElseIf IsEmpty(.Cells(1, 6)) Or .Cells(1, 6) 

Anzeige
AW: Excel Bestand
26.03.2015 12:30:02
Matze
Hi danke erstmal soweit hat es funktioniert gehabt als ich dann eine Tabelle erstellt habe ging plötzlich gar nichts mehr sogar als ich es geschlossen habe und wieder geöffnet hatte es nicht gespeichert meine veränderungen und im VBA editor kam folgender fehler:
https://www.herber.de/bbs/user/96648.xlsx

Anzeige
AW: Excel Bestand
26.03.2015 13:38:54
fcs
Hallo Matze,
du hast meine Hinweise bezüglich des Zellschutzes für Zelle A1 und Zelle D1 nicht umgesetzt.
Im Blatt "Warenein- oder ausgang" musst du bei deaktiviertem Blattschutz für Zelle A1 den Zellschutz deaktivieren und solltest du den Schutz für Zelle D1 aktivieren.
Das geht via Menü "Start - Zellen-Format - Zelle sperren". ist das Schloss-Symbol hervorgehoben, dann wird die Zelle beim Aktivieren des Blattschutzes gesperrt, andernfalls bleibt sie
Gruß
Franz

Anzeige
AW: Excel Bestand
27.03.2015 09:43:41
Matze
Hi fcs,
ich Danke dir nochmal vielmals, du hast mir echt geholfen funktioniert alles super!!!
nun habe ich noch ein Problem :(
ich wollte das selbe jetzt noch mit anderen Lagern machen aber da es dort soviel kleinteile gibt habe ich es wegen der Übersichtlichkeit in Tabellen sortiert nun habe ich erst versucht irgendwie hinter dein Pogramm zu steigen aber ich schaff das nicht :(
ware suppi wenn du mir nochmal helfen könntest...
meine e-mail: matze87abc@gmail.com
Vielen Dank schon mal auch wenns nicht klappt
https://www.herber.de/bbs/user/96666.xlsm

Anzeige
AW: Excel Bestand
27.03.2015 15:26:09
fcs
Hallo Matze,
die Daten auf mehrere Tabellen zu verteilen ist nur vordergründig übersichtlicher. Besser ist es die Daten in einer Tabelle zusammenzuhalten. Daten für bestimmte Zwecke aus eine Gesamtmenge auszusortieren ist immer einfacher als Daten aus mehreren Tabellen zusammenzusuchen.
Ich hab deine Datei mal etwas in diese Richtung umgestellt. Schau mal ob du dich damit anfreunden kannst, dann würde ich mich um die Anpassung der Makros kümmern.
https://www.herber.de/bbs/user/96671.xlsm
Deine Idee mit der Aufteilung auf mehrere Tabellen kann man auch umsetzen, indem man mit entsprechenden Bereichsnamen für die Bestandsdaten arbeitet und dynamisch die Auswahlliste der Combobox3 anpasst. Ich halte das aber nicht für den idealen Weg.
Gruß
Franz

Anzeige
AW: Excel Bestand
30.03.2015 06:13:35
Matze
hi fcs,
gefällt mir sehr gut du hast es echt drauf.... ich zieh echt den Hut vor dir :)

AW: Excel Bestand
30.03.2015 11:33:33
Matze
Danke erstmal dafür istz echt super so wie du dir das gedacht hast.. kannst du mir das so umsetzen?
ich möchte dann natürlich immer wieder ein neues Werkzeug hinzufügen können ohne was am Code verändern zu müssen....

Anzeige
AW: Excel Bestand
30.03.2015 15:35:46
fcs
Hallo Matze,
ich hab mal die Makros aus der anderen Datei kopiert und angepasst.
Ich hab auch ein paar Info-Textboxen eingefügt.
Wichtig ist, dass, wenn du Werkzeuge oder auch Gruppen hinzufügst, dass die Zellbereiche zu den Namen AWL_Werkzeug und AWL-Gruppe entsprechend der letzten Zeile mit Daten angepasst werden, damit die Auswahllisten in den Comboboxen korrekt funktionieren.
Bezüglich E-Mail-Versand hab ich mal was eingebaut. Was du am Ende als Makro benötigst/verwenden kannst, das hängt auch von dem verwendeten E-Mail-Programm ab.
Ob die Outlook-Variante funktioniert kann ich nicht sagen. Dia hab ich "geklaut", konnte sie aber nicht testen.
Gruß
Franz
https://www.herber.de/bbs/user/96727.xlsm

Anzeige
AW: Excel Bestand
30.03.2015 18:40:20
Matze
Miiiieeesssss!!! ey du bist echt der Burner,
so auf den ersten blick echt super.... werde es dann nochmal richtig testen...bekommst dann noch ein richtiges feedback

AW: Excel Bestand
30.03.2015 20:22:28
Matze
hi fcs,
mir ist gerade noch etwas eingefallen :( wäre es möglich neben der Anzahl der entnommenen/aufgefüllten Waren noch eine Komentarzeile eizuügen die mit übernommen wird? diese soll nicht weiterverarbeitet werden nur das man zur Buchung ein Kommentar schreiben kann z.B. Ware ist für Herrn Mustermann falls man das mal braucht.

Anzeige
AW: Excel Bestand
30.03.2015 20:43:23
Matze
und gleich das nächste Problem :( ich möchte den Zellbereich vergrößern deine Hinweise sind echt super aber irgendwie finde ich im VME den Schritt AWL_Werkzeuge nicht :( oder wo muss ich das ändern das ich mehr Werkzeuge hinzufügen kann :(

AW: Excel Bestand
31.03.2015 08:09:10
fcs
Hallo Matze,
ich hab die Kommentarspalte eingebaut und das makro angepasst.
Anpassung Zellbereich eines Namens:
1. ggf. Blattschutz aufheben.
2. Menü "Formeln"
3. Namensmanager starten
4. Name wählen und "Bearbeiten"
5. Zellbereich anpassen
6. OK
7. Dialog wieder schließen
8. ggf. Blattschutz wieder setzen
Ich hab dir auch ein entsprechendes Makro "Name_AWL_Werzeug_anpassen" eingebaut.
Gruß
Franz

Anzeige
AW: Excel Bestand
31.03.2015 09:29:49
Matze
Hi kann ich den das MAkro haben mit der Komentarzeile?
sagst du mir wo es eingefügt wird?
ich habe was den Zellbereich angeht es genauso wie du gesagt hast gemacht trotzdem übernimmt er ab zeile 43 keine Werte mehr
1. Blattschutz aufheben
2. Menü Formeln
3. Dateimanager
4 Klicken auf AWL_Werkzeug
(=Bestand!$A$8:$D$43)
5. geändert in (=Bestand!$A$8:$D$100)
6. Ok gedrückt
7. keine veränderung
:'(

Anzeige
AW: Excel Bestand
31.03.2015 12:31:09
fcs
Hallo Matze,
da hatte ich vergessen, die Datei in der Antwort hochzuladen. Ich hab im Makro Commandbutton1_Click die beiden Stellen markiert, die für den Kommentar in Spalte I (9).
https://www.herber.de/bbs/user/96756.xlsm
Das Makro "Name_AWL_Werkzeug_anpassen" schaffft es auch die Auswahlliste der Combobox nach Anpassung des Bereichs für den Namen direkt zu aktualisieren.
Bei Anpassung von Hand haben es die Excelprogrammierer auch nach über 20 Jahren nicht geschafft, dass sich solche Anpassungen bei manuellen Änderungen direkt auf die Steuerelemente übertragen. Auch neu berechnen hilft nicht. Man muss die Datei speichern, schliessen und wieder Öffnen oder -was auch nicht einfacher ist- man muss in den Entwurfsmodus wechseln und die ListFillRange-Eigenschaft neu eintragen.
Gruß
Franz

Anzeige
AW: Excel Bestand
31.03.2015 15:13:25
Matze
ey du bist so ein krasser typ danke das erleichtert mir sowas von die Arbeit echt krass am liebsten würd ich dich auf ein bier einladen :D

AW: Excel Bestand
31.03.2015 11:15:02
Matze
Hi kann ich den das MAkro haben mit der Komentarzeile?
sagst du mir wo es eingefügt wird?
ich habe was den Zellbereich angeht es genauso wie du gesagt hast gemacht trotzdem übernimmt er ab zeile 43 keine Werte mehr
1. Blattschutz aufheben
2. Menü Formeln
3. Dateimanager
4 Klicken auf AWL_Werkzeug
(=Bestand!$A$8:$D$43)
5. geändert in (=Bestand!$A$8:$D$100)
6. Ok gedrückt
7. keine veränderung
:'(
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Bestandsliste für Wareneingang und Warenausgang erstellen


Schritt-für-Schritt-Anleitung

  1. Excel-Tabelle erstellen: Öffne Excel und erstelle eine neue Tabelle. Benenne die erste Tabelle als "Warenein- oder ausgang".

  2. Spaltenüberschriften festlegen: In der ersten Zeile deiner Tabelle erstelle folgende Spaltenüberschriften:

    • A: Datum
    • B: Wareneingang oder Warenausgang
    • C: Wer (Benutzername)
    • D: Artikel
    • E: Menge
    • F: Kommentar (optional)
  3. Formeln einfügen:

    • In Zelle A2 kannst du die Formel =JETZT() verwenden, um Datum und Uhrzeit automatisch einzufügen.
    • In Zelle C2 kannst du den Benutzernamen automatisch einfügen mit =VBA.Environ("Username").
  4. Dropdown-Menü erstellen: In Spalte B erstelle ein Dropdown-Menü für die Auswahl von "Wareneingang" oder "Warenausgang". Dazu kannst du die Datenüberprüfung in Excel nutzen:

    • Wähle die Zellen in Spalte B aus, gehe zu „Daten“ > „Datenüberprüfung“ und wähle „Liste“ aus. Gib die Werte „Wareneingang, Warenausgang“ ein.
  5. Makro hinzufügen: Um die Eingaben in die Bestandsliste automatisch zu übertragen, erstelle ein Makro. Öffne den VBA-Editor und füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Warenein- oder ausgang")
       Dim lastRow As Long
    
       lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
       ws.Cells(lastRow, 1).Value = ws.Cells(2, 1).Value ' Datum
       ws.Cells(lastRow, 2).Value = ws.Cells(2, 2).Value ' Wareneingang/Warenausgang
       ws.Cells(lastRow, 3).Value = ws.Cells(2, 3).Value ' Wer
       ws.Cells(lastRow, 4).Value = ws.Cells(2, 4).Value ' Artikel
       ws.Cells(lastRow, 5).Value = ws.Cells(2, 5).Value ' Menge
       ws.Cells(lastRow, 6).Value = ws.Cells(2, 6).Value ' Kommentar
    End Sub
  6. Blattschutz aktivieren: Schütze die Zellen, die nicht bearbeitet werden sollen, um sicherzustellen, dass nur autorisierte Benutzer Änderungen vornehmen können.


Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht: Stelle sicher, dass du die Datei als .xlsm speicherst, damit das Makro korrekt ausgeführt wird. Überprüfe auch, ob alle Zellen richtig referenziert sind.

  • Fehler: Nicht alle Werte werden übernommen: Überprüfe die Zellreferenzen im Makro. Achte darauf, dass der letzte Zeilenwert korrekt ermittelt wird.

  • Fehler: Dropdown-Menü funktioniert nicht: Stelle sicher, dass du die Datenüberprüfung korrekt eingerichtet hast und dass die Liste der Optionen in den Zellen korrekt eingegeben wurde.


Alternative Methoden

  • Excel-Tabellen verwenden: Statt einer normalen Tabelle kannst du eine Excel-Tabelle (STRG + T) erstellen, um die Verwaltung der Daten zu erleichtern. Das bietet dir auch die Möglichkeit, einfachere Formeln zu verwenden.

  • Pivot-Tabellen: Verwende Pivot-Tabellen, um den Lagerbestand einfach auszuwerten und zu analysieren. Dies ist besonders nützlich, wenn du große Datenmengen hast.


Praktische Beispiele

  1. Wareneingang buchen: Du trägst in die Eingabefelder das Datum, den Benutzernamen und den Artikel ein. Nach dem Klick auf den Button wird die Eingabe direkt in die Bestandsliste übertragen.

  2. Warenausgang dokumentieren: Der Vorgang ist identisch, nur dass du in der Spalte "Wareneingang oder Warenausgang" den entsprechenden Wert auswählst, um den Lagerbestand zu verringern.

  3. Bestandsliste erstellen: Um eine Excel Bestandsliste zu erstellen, klicke auf das "+"-Symbol, um eine neue Tabelle zu erstellen, und wiederhole die Schritte zur Eingabe der Daten.


Tipps für Profis

  • Verwende VBA: Mit VBA kannst du komplexe Automatisierungen realisieren, die dir Zeit und Mühe sparen. Berücksichtige die Verwendung von Schleifen, um mehrere Einträge gleichzeitig zu verarbeiten.

  • Daten validieren: Stelle sicher, dass die Eingabefelder validiert werden, um Fehler zu vermeiden. Nutze Datentypen und benutzerdefinierte Formate, um die Datenintegrität zu gewährleisten.

  • Berichte automatisieren: Erstelle automatisierte Berichte, um den Lagerbestand regelmäßig zu überwachen. Du kannst auch E-Mail-Benachrichtigungen einrichten, wenn der Lagerbestand einen bestimmten Wert erreicht.


FAQ: Häufige Fragen

1. Wie kann ich die Bestandsliste exportieren?
Du kannst die Tabelle einfach als CSV-Datei speichern, um die Daten in anderen Anwendungen zu verwenden.

2. Kann ich mehrere Lagerbestände in einer Datei verwalten?
Ja, du kannst für jedes Lager eine eigene Tabelle innerhalb der Excel-Datei erstellen und die Makros entsprechend anpassen.

3. Gibt es eine Möglichkeit, die Eingabewerte vor dem Speichern zu überprüfen?
Ja, du kannst in deinem VBA-Code Bedingungen hinzufügen, die die Eingabewerte validieren, bevor sie in die Liste übertragen werden.

4. Wie kann ich die Benutzerkennung durch einen Klartextnamen ersetzen?
Du kannst eine zusätzliche Spalte erstellen, die bei der Eingabe den Namen anzeigt, indem du die SVERWEIS-Funktion verwendest, um die Zuordnung vorzunehmen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige