Geçici olarak hafıza da bilgi tutma?

Katılım
10 Ocak 2014
Mesajlar
19
Excel Vers. ve Dili
excel 2013
Merhabalar,
Basit yapılı Stok programında TextBox'a girilen Barkod numarası ile stoktan ürün düşülüyor.
Bu barkod numarası ile ürünün adını ve fiyatını buluyorum, yalnız bunları bir yerde tutarak ürün fiyatlarını toplayıp toplam tutarı göstermek istiyorum.
1 ürün için uygulaması fikir vermesi açısından resimde görebilirsiniz.
Örneğin 5 farkılı barkod girildiğinde ürünler alt alta göstermeli ve toplam tutarı vermeli yeni müşteri tıklandığında hafıza temizlenmeli.

Ad yöneticisi ile yapmaya çalıştım ama yapamadım.
Matris ile olabilir diye düşünüyorum ama tam olarak mantık kuramadım.
Yönlendirme yapabilir ve kodda düzeltme yaparsanız sevinirim.

Kod:
Private Sub TextBox1_Change()
Dim barkod As Range
If Len(TextBox1) < 13 Then Exit Sub

    Set barkod = Range("d1:d65530").Find(Val(TextBox1), , xlValues, xlWhole)
    If Not barkod Is Nothing Then
    Cells(barkod.Row, 10).Value = Val(Cells(barkod.Row, 10).Value) + 1
    'Names.Add "test", Cells(barkod.Row, 2).Value
    'Names.Add "test", Cells(barkod.Row, 16)
    Label1.Caption = Cells(barkod.Row, 2).Value & "           " & Cells(barkod.Row, 16) & " TL"
    Label2.Caption = "Toplam Tutar: " & Cells(barkod.Row, 16) & " TL"
    Else
    son = Range("d65536").End(3).Row + 1
    Cells(son, 4).Value = TextBox1.Text ' Barkodu yazma kolonu
    Cells(son, 10).Value = 1 'Çıkan mal kolonu
    End If
    TextBox1.Text = ""
End Sub
 

Ekli dosyalar

Katılım
10 Ocak 2014
Mesajlar
19
Excel Vers. ve Dili
excel 2013
Eline sağlık Hüseyin çok güzel olmuş.
Küçük bir hata yakaladım, kullanmak isteyen olur diye belirtmek istedim.
Kod:
For i = 0 To ListBox1.ListCount - 1
      topla = topla + Val(ListBox1.List(i, 1)) * 1
    Next i
    Label2.Caption = "Toplam Tutar: " & topla & " TL"
    topla = Empty
ListBox1.List(i, 1)'de değerleri virgüllü tutuyordu, fakat toplama işleminde virgülsüz işlem yapıyordu. Örneğin 22,5 tutuyor ama sonucu 225 şeklinde yazıyordu. Kodu Val(ListBox1.List(i, 1)) şeklinde düzeltince hata düzeldi. Yalnız en sonda 1 ile çarpmanın sebebi nedir çözemedim. Silince sonuç değişmiyor.
Kod:
topla = topla + Val(ListBox1.List(i, 1)) * 1
Allah razı olsun, çok işime yaradı.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Örnekte hiç virgüllü değer yoktu. Deneyemedim.
Bir ile çarparak sayısal değere çevirdim.

. . .
 
Katılım
10 Ocak 2014
Mesajlar
19
Excel Vers. ve Dili
excel 2013
Evet, hep düz rakamlar gelmiş.
Cevap için teşekkürler...
 
Üst