• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hatalı toplamları olan ürün adlarını diğer sayfaya listeleme

Katılım
30 Kasım 2006
Mesajlar
625
Excel Vers. ve Dili
OFFICE 2003 Türkçe
Merhaba;
Ekteki dosyamda Küçük bir örnek olarak hazırladığım listede ürünlerin giriş ve çıkış miktarları var, Ürün Fiyat sayfasında ise,
adı geçen ürünlerin mevcut miktarları var.
Ancak Ürün Fiyat sayfasında bazı mevcut miktarları hatalı (Kırmızı olanlar)

Yapmak istediğim şu;
"Hatalıları Listele" düğmesini tıkladığımda, Kiler sayfasındaki ürünlerin Giren ve çıkan miktarları arasındaki farkı, Ürün Fiyat sayfasındaki mevcut miktarla karşılaştırıp, hatalı olan ürünlerin sadece isimlerini Liste sayfasına listelesin. Bu istediğim mümkünmüi bilmiyorum, Olursa çok sevinirim .Yapmaya çalıştığım proğramımda "Hata bul" özelliği olarak kullanmak istiyorum. Yardımlarınız için şimdiden çok teşekkür ediyorum. Saygılarımla.
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodu deneyiniz. Ayrıca örnek dosyada ekliyorum. Liste sayfanıza fark miktarı sütunuda ekledim. Kontrol etmeniz dahada kolaylaşır.

Kod:
Private Sub CommandButton1_Click()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, Satir As Long
    Dim Toplam_Giren As Double, Toplam_Çıkan As Double, Mevcut_Stok As Double, X As Long
    
    Set S1 = Sheets("Kiler")
    Set S2 = Sheets("Ürün_Fiyat")
    Set S3 = Sheets("Liste")
    S3.Range("B3:C" & Rows.Count).ClearContents
    Satir = 3
    
    For X = 3 To S1.Cells(Rows.Count, "B").End(3).Row
        Toplam_Giren = WorksheetFunction.SumIf(S1.Range("B:B"), S1.Cells(X, "B"), S1.Range("C:C"))
        Toplam_Çıkan = WorksheetFunction.SumIf(S1.Range("B:B"), S1.Cells(X, "B"), S1.Range("D:D"))
        Mevcut_Stok = WorksheetFunction.SumIf(S2.Range("B:B"), S1.Cells(X, "B"), S2.Range("C:C"))
        If Toplam_Giren - Toplam_Çıkan - Mevcut_Stok <> 0 Then
            If WorksheetFunction.CountIf(S3.Range("B:B"), S1.Cells(X, "B")) = 0 Then
                S3.Cells(Satir, "B") = S1.Cells(X, "B")
                S3.Cells(Satir, "C") = Toplam_Giren - Toplam_Çıkan - Mevcut_Stok
                Satir = Satir + 1
            End If
        End If
    Next
    
    S3.Select
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

Ekli dosyalar

Sayın Korhan Ayhan Hocam, İlginize çok teşekkür ederim, İstediğimden de fazlası olmuş, şimdi kodları dosyama uygulayacağım. Tekrar teşekkür ediyorum. İşleriniz kolay gelsin.
 
Geri
Üst