Anzeige
Archiv - Navigation
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Eintrag aus Textbox berechnen
21.08.2006 00:00:12
Karin
Guten Abend liebe Leute,
ich habe eine Büromaterialverwaltung mit einem Blatt "Bestand" und vielen Kostenstellenblättern. Bei Doppelklick auf einen Artikel in Spalte A öffnet sich ein Userform mit Listbox (Kostenstellen) und zwei Textboxen (Textbox1 = aktuelles Datum, Textbox2 = Stückzahl). In der Listbox wird die Kostenstelle markiert und in Textbox2 wird die Stückzahl geschrieben. Bei Klick auf OK wird der Artikelname, die Stückzahl und das Datum auf das entsprechende Kostenstellenblatt geschrieben. Das klappt dank Unterstützung aus dem Forum hervorragend.
Jetzt möchte ich noch die Stückzahl des ausgegebenen Artikels vom jeweiligen Bestand auf dem Tabellenblatt "Bestand" in Spalte E subtrahieren, so dass in Spalte E der neue tatsächliche Bestand steht. Kann mir dabei bitte jemand helfen? Ich bekomme das trotz zahlreicher Versuche nicht gebacken. Eine Musterdatei lade ich hoch.
Im Voraus herzlichen Dank!
Karin
https://www.herber.de/bbs/user/35965.xls

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintrag aus Textbox berechnen
21.08.2006 07:38:50
Heiko
Moin Karin,
den Code hinter dem OK Button wie folgt ändern !!!

Private Sub cmdOK_Click()
Dim LetzteZelleInSpalteN As Integer
Dim Artikelbezeichnung As String
' Und noch ne kleine Sicherheit das in der Listbox auch was ausgewählt wurde !!!
If Me.lstkostenstelle.ListIndex < 0 Then
MsgBox "Sie haben keine Kostenstelle ausgewählt !", vbInformation
Exit Sub
End If
Artikelbezeichnung = Cells(ActiveCell.Row, 1)
' Das hier ist neu zum Bestand reduzieren !!!
ActiveCell.Offset(0, 4) = ActiveCell.Offset(0, 4) - (Me.TextBox2.Text * 1)
Sheets(lstkostenstelle.List(lstkostenstelle.ListIndex, 1)).Activate
On Error Resume Next
ActiveSheet.ShowAllData
LetzteZelleInSpalteN = Cells(Cells.Rows.Count, 14).End(xlUp).Row
Cells(LetzteZelleInSpalteN + 1, 14) = Artikelbezeichnung
Cells(LetzteZelleInSpalteN + 1, 13) = Me.TextBox2
Cells(LetzteZelleInSpalteN + 1, 15) = Me.TextBox1
Unload Me
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
Nachtrag
21.08.2006 07:47:05
Heiko
Hallo
damit du nicht mehr entnehmen kannst als da sind, noch ne kleine Sicherheitsabfrage extra !!!

Private Sub cmdOK_Click()
Dim LetzteZelleInSpalteN As Integer
Dim Artikelbezeichnung As String
' NEU *** Und ne kleine Sicherheit das in Listbox auch was ausgewählt wurde !!!
If Me.lstkostenstelle.ListIndex < 0 Then
MsgBox "Sie haben keine Kostenstelle ausgewählt !", vbInformation
Exit Sub
End If
' NEU *** Und noch ne kleine Sicherheit das nicht mehr entnommen werden wie da sind !!!
If Me.TextBox2.Text * 1 > ActiveCell.Offset(0, 4) Then
MsgBox "Es sind keine " & Me.TextBox2.Text * 1 & " '" & ActiveCell.Text & "' auf Lager !", vbCritical
Exit Sub
End If
' NEU *** Zum Bestand reduzieren !!!
ActiveCell.Offset(0, 4) = ActiveCell.Offset(0, 4) - (Me.TextBox2.Text * 1)
Artikelbezeichnung = Cells(ActiveCell.Row, 1)
Sheets(lstkostenstelle.List(lstkostenstelle.ListIndex, 1)).Activate
On Error Resume Next
ActiveSheet.ShowAllData
LetzteZelleInSpalteN = Cells(Cells.Rows.Count, 14).End(xlUp).Row
Cells(LetzteZelleInSpalteN + 1, 14) = Artikelbezeichnung
Cells(LetzteZelleInSpalteN + 1, 13) = Me.TextBox2
Cells(LetzteZelleInSpalteN + 1, 15) = Me.TextBox1
Unload Me
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: DANKE!!!!
21.08.2006 14:24:18
Karin
Hallo Heik0,
sorry, dass ich mich erst jetzt melde, war außer Haus. Du bist Spitze! Alles funktioniert hervorragend!
Herzlichen Dank
Karin

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige