Arkadaşlar merhaba, foruma yeni geldim. Yeni vba öğrenmeye çalışıyorum. Barkoda bağlı bir hızlı satış programı yaptım. Projemi tamamladığımda barkodu her okuttuğumda stoğumdan ilgili ürüne gidip ilgili ürünün stoğundan 1 adet stok azaltarak ürün stoğumu kontrol etmek istiyorum.
Barkod okuyunca stoktan düşmek için denediğim kodlar şu şekilde ancak hiçbir faydasını göremedim,
Bir diğer deneyip de faydasını göremediğim kod şu şekilde
For döngüsüyle stok rangeinden - 1 inerek 0 a kadar gitmeyi denedim o da olmadı. if le bir şeyler denedim o da olmadı. Ne yapsam olmadı. Yardımlarınıza ve engin bilgilerinize şu an çok ihtiyacım var. Vereceğiniz cevaplar için şimdiden teşekkür ediyor, herkese iyi forumlar diliyorum.
Barkod okuyunca stoktan düşmek için denediğim kodlar şu şekilde ancak hiçbir faydasını göremedim,
Kod:
Sub STOK_AZALT()
Dim x As Long
Dim sttok As Worksheet
Dim seppet As Worksheet 'stok satır sayısı
Dim ss As Worksheet
Dim gg As Long 'sepet satır sayısı
Set sttok = Sheet("STOK")
ss = sttok.Range("A10000").End(xlUp).Row
Set seppet = Sheet("SEPET")
gg = seppet.Range("A10000").End(xlUp).Row
For x = 2 To ss
sttok.Range("I" & x).Value = Application.WorksheetFunction.SumIfs(seppet.Range("C:C"), stok.Range("A" & x).Value, seppet.Range("A:A"))
sttok.Range("G" & x).Value = sttok.Range("H" & x).Value - sttok.Range("I" & x).Value
Next
Set sttok = Nothing
Set seppet = Nothing
End Sub
Bir diğer deneyip de faydasını göremediğim kod şu şekilde
Kod:
Sub STOK_AZALT()
Dim stk As Label
Dim x As Long
Dim i As Long
For x = 2 To 120000
For i = 2 To 120000
If Sheets("SEPET").Range("A" & x).Value <> "" Then GoTo stk
If Sheets("SEPET").Range("A" & x).Value = "" Then Exit For
stk:
If Sheets("STOK").Range("A" & i).Value = Sheets("SEPET").Range("A" & x).Value Then
Sheets("STOK").Range("G" & i) = Sheets("STOK").Range("G" & i) - Sheets("SEPET").Range("F" & x)
Sheets("SEPET").Range("A" & x).Value = ""
End If
Next i
Next x
End Sub