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

Forumthread: Ein/Ausbuchen Inputbox

Ein/Ausbuchen Inputbox
16.12.2019 16:14:54
Marvin
Hallo zusammen,
ich habe eine Exelliste die man mit einem Barcodescanner bedienen kann etwas umgebaut.
Es gibt 3 Relevante Zeilen. EAN Nr., Bezeichnung des Artikels und eine spalte in dem die Anzahl angezeigt wird. Wenn ich einen Barcode scanne sucht Excel mir die betreffende Zeile und zählt mir die Anzahl entweder hoch oder runter. (Dies kann man über zwei Radiobuttons auswählen.Einbuchen/Ausbuchen)
Diese Funktion habe ich jetzt soweit umgebaut das wenn ich einen Barcode scanne, Excel mir die Zeile raussucht und mir eine Inputbox ausgibt. Dort kann ich die Menge dann eintragen die entweder Ein oder Ausgebucht werden soll. Dies funktioniert aber nicht. Könnt ihr mir da weiterhelfen? Wenn ich nur Wert = Wert - Cells(zl, sp) benutze funktioniert alles tadellos. Danke schonmal im voraus.
If [xlErstOK] Then
spa = Columns([xlSpalteBezeichnung].Value).Column
'Msg Box
Wert = InputBox("Bitte geben Sie ihren Wert ein!", "")
If Wert "" Then
If [xlnEinAusBuchen] = 2 Then
Wert = Wert - Cells(zl, sp)
Else
If [xlnEinAusBuchen] = 1 Then
Wert = Wert + Cells(zl, sp)
End If
Cells(zl, sp).Value = Wert
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ein/Ausbuchen Inputbox
16.12.2019 16:34:37
Piet
Hallo
der Code müsste so in einen Laufzeitfehler laufen, oder? Der Fehler liegt bei Else!! Schreib es bitte mal wie unten!
mfg Piet
If [xlnEinAusBuchen] = 2 Then
Wert = Wert - Cells(zl, sp)
ElseIf [xlnEinAusBuchen] = 1 Then
Wert = Wert + Cells(zl, sp)
End If
Cells(zl, sp).Value = Wert

Anzeige
AW: Ein/Ausbuchen Inputbox
16.12.2019 16:46:41
Marvin
Vielen Dank.
Das einbuchen klappt ohne Probleme. Wenn ich aber jetzt ausbuchen wähle, einen Barcode scanne und eine Zahl eingebe, dann setzt er ein minus davor obwohl man sich noch im positiven bereich befindet.
Anzahl 10
Ich gebe in die Inputbox den Wert 1 ein und er gibt mir -9 aus. Wenn ich jetzt nochmals scanne und die Zahl 1 eingebe dann, macht er mir eine 10 draus.
An was kann das liegen?
Anzeige
AW: Ein/Ausbuchen Inputbox
16.12.2019 16:59:39
Marvin
Hier nochmal ein Beispiel
- IST Wert 500
- Inputbox 100
- Ergebnis in der Tabell -400
- IST Wert -400
- Inputbox 100
- Ergebnis 500
Das liegt denke ich am Minus Zeichen oder?
AW: Ein/Ausbuchen Inputbox
16.12.2019 17:22:30
onur
Hier, du Mathe-Genie:
Wert = Cells(zl, sp) - Wert
AW: Ein/Ausbuchen Inputbox
16.12.2019 17:25:01
Marvin
@Onur
So leicht und doch soooo schwer:D Vielen Dank jetzt klappt alles :D
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ein/Ausbuchen mit Inputbox in Excel


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Stelle sicher, dass Du in Excel eine Tabelle mit den Spalten für EAN Nr., Bezeichnung des Artikels und Anzahl hast.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Einfügen eines Moduls: Klicke mit der rechten Maustaste auf VBAProject (deineDatei.xlsx), wähle Einfügen und dann Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub EinAusBuchen()
       Dim Wert As Double
       Dim zl As Long
       Dim sp As Long
    
       ' Hier musst Du die Zeile und Spalte definieren
       zl = ... ' Zeile
       sp = ... ' Spalte
    
       If [xlErstOK] Then
           Wert = InputBox("Bitte geben Sie ihren Wert ein!", "")
           If Wert <> "" Then
               If [xlnEinAusBuchen] = 2 Then
                   Wert = Cells(zl, sp).Value - Wert
               ElseIf [xlnEinAusBuchen] = 1 Then
                   Wert = Cells(zl, sp).Value + Wert
               End If
               Cells(zl, sp).Value = Wert
           End If
       End If
    End Sub
  5. Radiobuttons einfügen: Füge zwei Radiobuttons in Dein Excel-Dokument ein, um zwischen Einbuchen und Ausbuchen zu wählen.

  6. Testen: Scanne einen Barcode und gib eine Menge in die Inputbox ein, um sicherzustellen, dass die Berechnung korrekt durchgeführt wird.


Häufige Fehler und Lösungen

  • Fehler bei der Berechnung: Wenn Du beim Ausbuchen einen negativen Wert erhältst, überprüfe, ob Du den Code richtig geschrieben hast. Nutze die folgende Struktur:

    If [xlnEinAusBuchen] = 2 Then
       Wert = Cells(zl, sp).Value - Wert
    ElseIf [xlnEinAusBuchen] = 1 Then
       Wert = Cells(zl, sp).Value + Wert
    End If
  • Runtime-Fehler: Wenn Du einen Laufzeitfehler erhältst, überprüfe, ob Du ElseIf korrekt geschrieben hast. Achte darauf, dass alle Bedingungen vollständig sind.


Alternative Methoden

  • Direkte Zellbearbeitung: Anstatt eine Inputbox zu verwenden, kannst Du auch direkt in die Zelle klicken und die Werte manuell eingeben. Dies kann bei einfachen Änderungen schneller sein.

  • Formeln verwenden: Du kannst auch Excel-Formeln verwenden, um die Berechnung automatisch durchzuführen, ohne VBA zu nutzen. Zum Beispiel:

    =WENN(A2="Einbuchen", B2+C2, B2-C2)

Praktische Beispiele

  • Beispiel 1: IST Wert 500, Inputbox 100, Ergebnis in der Tabelle: 600.
  • Beispiel 2: IST Wert 400, Inputbox 50, Ergebnis in der Tabelle: 350.

Vergewissere Dich, dass Du die richtigen Werte in der Inputbox eingibst, um die gewünschten Ergebnisse zu erzielen.


Tipps für Profis

  • Debugging: Nutze das Debugging-Tool im VBA-Editor, um zu sehen, wo Fehler im Code auftreten. Setze Breakpoints, um die Ausführung Schritt für Schritt zu verfolgen.

  • Datenvalidierung: Implementiere eine Datenvalidierung in Deiner Inputbox, um sicherzustellen, dass nur numerische Werte eingegeben werden.

  • Dokumentation: Halte Deinen Code gut dokumentiert, indem Du Kommentare hinzufügst, die erklären, was jeder Abschnitt des Codes tut.


FAQ: Häufige Fragen

1. Warum funktioniert die Inputbox nicht?
Überprüfe, ob Du alle Variablen korrekt initialisiert hast und dass die Radiobuttons richtig konfiguriert sind.

2. Wie kann ich sicherstellen, dass ich keine negativen Werte erhalte?
Füge eine Bedingung hinzu, die überprüft, ob die Berechnung zu einem negativen Wert führen würde, und verhindere dies durch entsprechende Logik im Code.

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