• DİKKAT

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

Eşit değerleri makro ile toplama

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
582
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Arkadaşlar öncelikle ilginizden dolayı çok teşekkür ederim.

Eklemiş olduğum dosyada sorunum ile ilgili detaylı açıklama yaptım yardımcı olursanız çok memnun olurum teşekkürler.
 

Ekli dosyalar

Aşağıdaki kodu deneyin.

Kod:
For a = 2 To Sheets("MÜŞTERİLER").Cells(65000, 1).End(xlUp).Row
For b = 2 To Cells(65000, 2).End(xlUp).Row
If Cells(b, 2) = Sheets("MÜŞTERİLER").Cells(a, 1) Then
Sheets("MÜŞTERİLER").Cells(a, 2) = Sheets("MÜŞTERİLER").Cells(a, 2) + Cells(b, 8)
Sheets("MÜŞTERİLER").Cells(a, 3) = Sheets("MÜŞTERİLER").Cells(a, 3) + Cells(b, 9)
End If
Next: Next

Sheets(2).Select
 
husgvarna ilginiz için teşekkürler ama bu kodu nereye yazmam gerekiyor acaba :)
 
husgvarna ilginiz için teşekkürler ama bu kodu nereye yazmam gerekiyor acaba :)

Ben aşağıdaki örnekte butonu kullandım; ama sizin örneğe göre, kodların
"I" sütununa veri girişi ile sonlandırılması gerekiyor.
 

Ekli dosyalar

  • X11.zip
    X11.zip
    15.4 KB · Görüntüleme: 18
Son düzenleme:
Teşekkür ederim çok güzel olmuş hocam emeğinize sağlık. fakat bir ricam daha olacak zahmet olmazsa bu işlemi CommandButton olmadan kendisi otomatik yapsa ve her girilen işlemden sonra müşteriler sayfasına gitmese olurmu acaba hocam.
 
commandbutton tuşuna basmadan otomatik kayıt yapmayı başardım fakat her girdiğim değerden sonra müşteriler sayfasına gitme işlemini nasıl durduracağım onu anlamadım kod aşağıdaki gibi bilgisi olan arkadaşlar yardımcı olursanız sevinirim. teşekkürler

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("MÜŞTERİLER").[b2:c65000] = ""
For a = 2 To Sheets("MÜŞTERİLER").Cells(65000, 1).End(xlUp).Row
For b = 2 To Cells(65000, 2).End(xlUp).Row
If Cells(b, 2) = Sheets("MÜŞTERİLER").Cells(a, 1) Then
Sheets("MÜŞTERİLER").Cells(a, 2) = Sheets("MÜŞTERİLER").Cells(a, 2) + Cells(b, 8)
Sheets("MÜŞTERİLER").Cells(a, 3) = Sheets("MÜŞTERİLER").Cells(a, 3) + Cells(b, 9)
End If
Next: Next
Sheets(2).Select
End Sub
 
korhan hocam size zahmet konuyla ilgili bana yardımcı olurmusunuz rica etsem.
 
kodun sonundaki "sheets(2).select" kısmını silebilirsiniz.
Bu kısımdaki 2'yi 1 yaparsanız işlem bittiğinde "Cari" sayfasını seçer. Buradaki 2 rakamı soldan sağa doğru sayfa sırasını belirtir. İşlem bittiğinde hangi sayfada kalmak istiyorsanız o sayfanın sıra numarasını yazın.
 
aynen dediğiniz gibi yaptım oldu sayfa1 diye değiştiridim soldan 1.sayfada kaldı peki bu sayfa numarasını sayfa adıyla değiştirmem için veya hiç bir sayfaya gitmesin aynen düzenleme yaptığım sayfada kalması için ne yapmalıyım hocam bu konuyla ilgilide bilgilen dirirseniz çok memnun olurum.
Teşekkürler.
 
aynen dediğiniz gibi yaptım oldu sayfa1 diye değiştiridim soldan 1.sayfada kaldı peki bu sayfa numarasını sayfa adıyla değiştirmem için veya hiç bir sayfaya gitmesin aynen düzenleme yaptığım sayfada kalması için ne yapmalıyım hocam bu konuyla ilgilide bilgilen dirirseniz çok memnun olurum.
Teşekkürler.
Merhaba.
Kodun sadece "I" sütununda işlem yaptığınızda çalışması için:

Kod:
  Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 9 Then Exit Sub
Sheets("MÜŞTERİLER").[b2:c65000] = ""
For a = 2 To Sheets("MÜŞTERİLER").Cells(65000, 1).End(xlUp).Row
For b = 2 To Cells(65000, 2).End(xlUp).Row
If Cells(b, 2) = Sheets("MÜŞTERİLER").Cells(a, 1) Then
Sheets("MÜŞTERİLER").Cells(a, 2) = Sheets("MÜŞTERİLER").Cells(a, 2) + Cells(b, 8)
Sheets("MÜŞTERİLER").Cells(a, 3) = Sheets("MÜŞTERİLER").Cells(a, 3) + Cells(b, 9)
End If
Next: Next
End Sub

Aslında "MÜŞTERİLER" sayfası açıldığında çalışması daha iyi.
Onun içinde "MÜŞTERİLER" sayfasının kod sayfasına:

Kod:
  Private Sub Worksheet_Activate()
Sheets("MÜŞTERİLER").[b2:c65000] = ""
For a = 2 To Sheets("MÜŞTERİLER").Cells(65000, 1).End(xlUp).Row
For b = 2 To Sheets("CARİ").Cells(65000, 2).End(xlUp).Row
If Sheets("CARİ").Cells(b, 2) = Sheets("MÜŞTERİLER").Cells(a, 1) Then
Sheets("MÜŞTERİLER").Cells(a, 2) = Sheets("MÜŞTERİLER").Cells(a, 2) + Sheets("CARİ").Cells(b, 8)
Sheets("MÜŞTERİLER").Cells(a, 3) = Sheets("MÜŞTERİLER").Cells(a, 3) + Sheets("CARİ").Cells(b, 9)
End If
Next: Next
End Sub
 
arkadaşlar ilgi ve alakanızdan dolayı çok teşekkür ederim istediğim sonucu elde ettim sayenizde.
 
Geri
Üst