Vba'da Toplama işlemi

Katılım
16 Şubat 2024
Mesajlar
6
Excel Vers. ve Dili
türkçe
Merhabalar,

Bir excel dosyasında 2 sayfam var 1. sayfa Analiz 2. Sayfa Ankara depo adıyla

Analiz Sayfasında A2 "Ürün Kodu", B2 "Gönderilen Miktar", C2 "Satılan Miktar"
Ankara Depo Sayfasında A1 "Ürün Kodu", B1 "Stok Miktarı"

Benim sorum Ankara Depo Sayfasında ki her bir ürün kodunun aynısını Analiz sayfasında bulduğunda ankara depo sayfasındaki ürünün "Stok Miktarı" ile analiz sayfasındaki aynı ürünün satılan miktarını toplayıp "Gönderilen Miktar" sütununda ki hücreye yazması
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba. Örnek dosya hazırlamalısınız.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,350
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Dosya ekleyebilmek ve dosyaya erişebilmek için altın üye olmalısınız.

Dosyanızı dosya yükleme sitelerinden birine yükleyebilirsiniz.
 
Katılım
16 Şubat 2024
Mesajlar
6
Excel Vers. ve Dili
türkçe
Merhaba,
Dosya ekleyebilmek ve dosyaya erişebilmek için altın üye olmalısınız.

Dosyanızı dosya yükleme sitelerinden birine yükleyebilirsiniz.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.

Kod:
Sub Topla()
    Dim syfDepo As Worksheet
    Dim syfAnaliz As Worksheet
    Dim Bak As Long
    Dim Bul As Range
    
    Set syfAnaliz = Worksheets("Analiz")
    Set syfDepo = Worksheets("Ankara Depo")
    
    For Bak = 2 To syfDepo.Cells(Rows.Count, "A").End(xlUp).Row

        Set Bul = syfAnaliz.Range("A:A").Find(What:=syfDepo.Cells(Bak, "A"), LookAt:=xlWhole)
        If Not Bul Is Nothing Then
            Bul(1, "B") = syfDepo.Cells(Bak, "B") + Bul(1, "C")
        End If
    Next
    MsgBox "Tamamlandı.", vbInformation
End Sub
 
Katılım
16 Şubat 2024
Mesajlar
6
Excel Vers. ve Dili
türkçe
Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.

Kod:
Sub Topla()
    Dim syfDepo As Worksheet
    Dim syfAnaliz As Worksheet
    Dim Bak As Long
    Dim Bul As Range
   
    Set syfAnaliz = Worksheets("Analiz")
    Set syfDepo = Worksheets("Ankara Depo")
   
    For Bak = 2 To syfDepo.Cells(Rows.Count, "A").End(xlUp).Row

        Set Bul = syfAnaliz.Range("A:A").Find(What:=syfDepo.Cells(Bak, "A"), LookAt:=xlWhole)
        If Not Bul Is Nothing Then
            Bul(1, "B") = syfDepo.Cells(Bak, "B") + Bul(1, "C")
        End If
    Next
    MsgBox "Tamamlandı.", vbInformation
End Sub
Çok teşekkür ederim elinize ve bilginize sağlık
 
Katılım
16 Şubat 2024
Mesajlar
6
Excel Vers. ve Dili
türkçe
Aşağıdaki kodu bir modüle kopyalayıp çalıştırın.

Kod:
Sub Topla()
    Dim syfDepo As Worksheet
    Dim syfAnaliz As Worksheet
    Dim Bak As Long
    Dim Bul As Range
   
    Set syfAnaliz = Worksheets("Analiz")
    Set syfDepo = Worksheets("Ankara Depo")
   
    For Bak = 2 To syfDepo.Cells(Rows.Count, "A").End(xlUp).Row

        Set Bul = syfAnaliz.Range("A:A").Find(What:=syfDepo.Cells(Bak, "A"), LookAt:=xlWhole)
        If Not Bul Is Nothing Then
            Bul(1, "B") = syfDepo.Cells(Bak, "B") + Bul(1, "C")
        End If
    Next
    MsgBox "Tamamlandı.", vbInformation
End Sub
Tekrardan Merhaba,

Gerçek verilerle çalışmaya başladığımda bir sıkıntı çıktı

1. Muhasebe programından Ankara Depo sayfasındaki değerleri otomatik çekiyorum. Eğer ürün stoğu 0 ise muhasebe programı kodu getirmiyor. Bu sebepten dolayı Analiz sayfasında "SARI" ile işaretlediğim satırdaki B11 hücresini boşluk olarak alıyor. Böyle bir durumda Gönderilen Miktar; Satılan Miktara eşit olması gerekmektedir.
2. Sizden ricam Analiz sayfasındaki Kalan Miktar sütununu otomatik getirsin.
3. Stok seviyesi diye 3. bir sayfa açtım. Buraya her kodun stok seviyelerini giriyorum. Bu girdiğim değerlere göre Analiz sayfasındaki Sipariş durumu kolonuna, kalan miktar stok seviyesinden küçük ise hücre rengini kırmızı yapıp sipariş ver yazısını yazsın.

Sizi çok yoruyorum sanırım. Yardımcı olursanız minnettar olacağım. Örnek dosya linki aşağıda. Şimdiden teşekkürler.

 
Üst