VBA-Code zur Lagerbestandsanpassung
05.04.2005 20:29:22
Micha
nachdem ich hier schon so toll geholfen wurde, kann mir jemand villeicht den folgenden Code mit anpassen helfen.
In "Maske" steht eine Rechnung und in "Artikeldatei" Artikel.
In Maske " Spalte H steht die Menge.So nun habe ich den unteren Teil mit der Nachproduktion schon selber probiert. Ich möchte das die Meldung per MsGBox nicht kommt wenn ich auf die Makroschaltfläche klicke, sondern direkt bei der Eingabe der Menge in Maske Spalte H !
So, dann soll noch folgendes hinzu: Wenn der Lagerbestand in "Artikeldatei" Spalte C 0 ist, dann Fehlermeldung: Der Lagerbestand ist 0 ! Die Meldung soll auch direkt bei der Eingabe kommen. Bitte per Makro und nicht über Gültigkeit, wenn möglich !
Public
Sub abbuchen()
Dim sh As Worksheet, shA As Worksheet
Dim i%, x%, lz%, lzR%
Set sh = Sheets("Maske")
Set shA = Sheets("Artikeldatei")
Application.ScreenUpdating = False
lz = shA.Cells(Rows.Count, 1).End(xlUp).Row
lzR = sh.Cells(Rows.Count, 2).End(xlUp).Row
For x = 17 To lzR
For i = 4 To lz
If sh.Cells(x, 2) = shA.Cells(i, 1) And _
sh.Cells(x, 8) > shA.Cells(i, 3) Then
End If
If sh.Cells(x, 2) = shA.Cells(i, 1) And _
sh.Cells(x, 8) <= shA.Cells(i, 3) Then
shA.Cells(i, 3) = shA.Cells(i, 3) - sh.Cells(x, 8)
MsgBox "Artikel " & shA.Cells(i, 2) & _
" wurde abgebucht !", 64, "Info"
End If
If sh.Cells(x, 2) = shA.Cells(i, 1) And _
sh.Cells(x, 8) <= 20 Then
MsgBox "Artikel " & shA.Cells(i, 2) & _
" bitte Nachproduktion!", 64, "Info"
End If
Next
Next
Application.ScreenUpdating = True
Set sh = Nothing
Set shA = Nothing
End Sub
Vielen Dank
Micha