Ich habe im unteren Code Daten zum eintragen in ein Tab Blatt (WoMat).
Funkt.auch prächtig.
Nun möchte ich zusätzlich noch den Lagerbestand berechnen.
Wenn ich auf Button cmdEintragen clicke
Das mir die Daten von den Textboxen z.B. "AbMatNr." im Tab.Blatt "Lagerbestand"
in Spalte A die Artikelnummer sucht und die Werte in der Textbox "AbProd" dann im "Lagerbestand" in Spalte B abzieht.
Also nach den Prinzip Wenn Button click, dann vergleiche Artikelnummer und ziehe diesen Wert ab.
Ich hoffe ich konnte mich halbwegs ausdrücken,so das man sich auskennt ?
Könnte mir dabei Bitte jemand helfen ?
Danke & Gruss, Heinz
Private Sub cmdEintragen_Click()
Call DATEN_eintragen
End Sub
Sub DATEN_eintragen()
Dim rngFind As Range
Dim suchDatum As Date
Dim Zeile%, Spalte%, zeileDatum%, zeileLinie%, spalteLinie%, Antwort
' Suchen nach dem Datum
suchDatum = DateSerial(Jahr, Monat, Tag)
With Sheets("WoMat")
Set rngFind = .Range("A:A").Find(What:=suchDatum, LookAt:=xlWhole)
If Not rngFind Is Nothing Then
zeileDatum = rngFind.Row
Set rngFind = Nothing
Else
MsgBox "Datum: " & suchDatum & " nicht gefunden!"
Set rngFind = Nothing
Exit Sub
End If
' Suchen nach der Zeilennummer lt. Kalenderwoche
zeileLinie = 0
For n = 2 To 1978 Step 38
If .Cells(n, 10).Value = KW Then
zeileLinie = n
Exit For
End If
Next n
If zeileLinie = 0 Then
MsgBox "Kalenderwoche " & KW & " nicht gefunden!"
Exit Sub
End If
' Suchen nach der Spaltenzahl der Linie
spalteLinie = 0
For n = 5 To 61 Step 7
If .Cells(zeileLinie - 1, n).Text = cmbLinie.Value Then
spalteLinie = n
Exit For
End If
Next n
If spalteLinie = 0 Then
MsgBox "Produktions-Linie: " & cmbLinie & " nicht gefunden!"
Exit Sub
End If
End With
' eventuellen Blattschutz aufheben
On Error Resume Next
Worksheets("WoMat").Unprotect
' Schreiben in das Tabellenblatt 'WoMat'
' Bezugszelle ist die obere linke Zelle des Tages und der Linie (Zellinhalt: SAP')
Zeile = zeileDatum - 3
Spalte = spalteLinie - 3
With Sheets("WoMat").Cells(Zeile, Spalte)
' Bezeichnungen
.Text = "SAP"
.Offset(0, 0) = "SAP"
.Offset(1, 0) = "Pal.-Art"
.Offset(2, 0) = "Mat.-Nr."
.Offset(3, 0) = "Abdecktray"
.Offset(4, 0) = "Lagentray"
.Offset(2, 6) = "Stk./Tag"
.Offset(3, 6) = "Stk./Tag"
.Offset(4, 6) = "Stk./Tag"
' Werte
.Offset(0, 1) = txtSAP ' SAP-Nummer
.Offset(0, 3) = txtArtikelBez ' Artikelbezeichnung
.Offset(1, 2) = txtPaDIN ' Palettenart
.Offset(2, 2) = txtPaMatNr ' Paletten Materialnummer
.Offset(2, 4) = Left(txtPaTag, Len(txtPaTag) - 4) ' Paletten pro Tag
.Offset(3, 2) = txtAbMatNr ' Abdeckplatten Materialnummer
.Offset(3, 4) = Left(txtAbTag, Len(txtAbTag) - 4) ' Abdeckplatten pro Tag
.Offset(4, 2) = txtPPMatNr ' PP-Platten Materialnummer
.Offset(4, 4) = Left(txtPPTag, Len(txtPPTag) - 4) ' PP-Platten pro Tag
End With
Antwort = MsgBox("Linie Nr.: " & vbTab & cmbLinie.Text & vbCrLf & _
"Datum: " & vbTab & cmbWo & ", " & cmbWoDatum & vbCrLf & vbCrLf & _
"Daten in Wochenplan eingetragen.", vbInformation, "DATEN in WOCHENPLAN")
Worksheets("WoMat").Protect Password:="", Contents:=True, UserInterfaceOnly:=True
End Sub