Hücre içinde toplama

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Arkadaşlar selam.
Sayfa içerisinde L4:L5000 ve N4:N5000 arasında sayısal değer gireceğim.
İsteğim şu :
Girdiğim değer üzerine yeni değer girdiğimde bu iki değeri toplasın.
Örneğin :
L250 nin üzerinde 300 yazıyor ve ben bu hücreye 200 değerini girersem sonuç 500 olsun.
Şimdiden teşekkürler.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayın yanginci34'ün eklediği belgeyi incelemedim.
Sayın yanginci34'ün çözümü istediğiniz işlemi gerçekleştiriyorsa, benim önereceğim de alternatif olsun artık.

Öncelikle; ilgili alana sadece ELLE ve sadece SAYISAL değerler yazılacağı varsayılmıştır.

Ne kadar sağlıklı çalışır denemek lazım ama fikrimi belirteyim.

Bu arada, istediğiniz işlem için; geçici olarak sayfadaki bir hücrenin kullanılacağını da belirteyim.
Ben bu işlem için [Z1] hücresini düşündüm, siz belgenizin durumuna göre, göz önünde olmayan uygun bir hücreyi de kullanabilirsiniz.

Alt taraftan ilgili sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılan VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırın.

NOT: Bir hücredeki değeri tamamen silmek yani o hücre için işleme en baştan-sıfırdan başlamak için, aynı hücreyi iki kez seçerek silmeniz gerekir.
.
Kod:
[B]Private Sub Worksheet_SelectionChange(ByVal Target As Range)[/B]
If Intersect(Target, [[B][COLOR="Blue"]L4:L5000, N4:N5000[/COLOR][/B]]) Is Nothing Then Exit Sub
    [B][COLOR="Red"][Z1][/COLOR][/B] = Target.Value
[B]End Sub[/B]


[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If Intersect(Target, [[B][COLOR="Blue"]L4:L5000, N4:N5000[/COLOR][/B]]) Is Nothing Then Exit Sub
    ilk = [B][COLOR="Red"][Z1][/COLOR][/B]
    If [B][COLOR="Red"][Z1][/COLOR][/B] = "" Then Exit Sub
    [B][COLOR="Red"][Z1][/COLOR][/B] = "": Target.Value = Target.Value + ilk
[B]End Sub[/B]
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,654
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Ömer Hocam benim dosyamda bir ustanın eseri arşivim de vardı onu gönderdim size birşey danışmak istiyorum benim dosyada işlemi sadece E3 hücresinde yapıyor ben arkadaşın istediği sütunları tanimlayamadim yardımcı olursanız sevinirim teşekkürler.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba Sayın yanginci34.

Benim verdiğim kod ile eklediğiniz belgedeki kod yapı itibariyle aynı zaten.
Tek fark, benim verdiğim kod'da; ilgili hücrede önceden yazılı olan değer Z1 hücresine yazdırılırken,
sizin eklediğiniz belgede, hücreye yazarak değil, bu değer bir değişkene atanarak işlem yapılıyor.

Benim verdiğim kod, konu sahibinin istediği gibi; L4:L5000 ve N4:N5000 hücre aralıklarındaki tüm hücreler için kullanılabilir.
.
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,654
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Anladım Hocam teşekkürler.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Arkadaşlar. Hepinize teşekkür ederim. Yarın dener sonuçtan bilgi veririm.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Arkadaşlar selam.
Kodları denedim ama olmadı.
Diğer kodların içine eklemiştim acaba ondan mı oldu?
Tüm kodları aşağıya yazıyorum.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [L4:L5000, N4:N5000]) Is Nothing Then Exit Sub
ilk = [Z1]
If [Z1] = "" Then Exit Sub
[Z1] = "": Target.Value = Target.Value + ilk
Select Case Target.Column

Case Is = 1: Target.Offset(, 2).Select
Case Is = 2: Target.Offset(, 1).Select
Case Is = 3: Target.Offset(, 1).Select
Case Is = 4: Target.Offset(, 1).Select
Case Is = 5: Target.Offset(, 1).Select
Case Is = 6: Target.Offset(, 1).Select
Case Is = 7: Target.Offset(, 2).Select
Case Is = 8: Target.Offset(, 1).Select
Case Is = 9: Target.Offset(1, -7).Select
Case Else
End Select



If Intersect(Target, Range("C4:E5000")) Is Nothing Then Exit Sub

Application.EnableEvents = False
If Target <> UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")) Then Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
Application.EnableEvents = True



End Sub
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,654
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Ömer Bey'in kodlarını Sayfanın SelectionChange olayında denermisiniz.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Hücrenin üzerine geldiğinizde, hiç bir rakam girmeden, o an hücredeki rakamı kendinle topluyor.
 
Katılım
26 Aralık 2008
Mesajlar
1,135
Excel Vers. ve Dili
EXCEL 2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
23-02-2025
arkadaşlar bende bu konu ile ilgili bir şey isteyebilir miyim? E3 hücresine yazdığım Rakkamı F kolonuna aşağıya doğru yazsın istiyorum
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Polis 53.
Yeni konu açıp oraya yazar mısınız?
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
511
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Hücrenin üzerine geldiğinizde, hiç bir rakam girmeden, o an hücredeki rakamı kendinle topluyor.
Sayın Ömer Beyin kodları ve sizin kodlar birleştirilince örnek çalışmakta, denermisiniz
iyi çalışmalar.
 

Ekli dosyalar

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
byfika arkadaşım.
Öncelikle ilginize ve emeğinize teşekkür ederim.
Üzerine toplama ile ilgili kodlar çalışıyor fakat diğer kodlar çalışmıyor.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Byfika arkadaşım.
Tamamdır. Kodların yerlerini değiştirerek hallettim.
Tekrar teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Sorulan soruya yönelik cevapların, gerçek belgede mevcut kodlarla, formüllerle ilişkisini öngörmemiz mümkün değil.

Tam da bu nedenle, soruların; gerçek belgenin özel bilgi içermeyen küçük boyutlu bir kopyası
şeklinde hazırlanacak örnek belge üzerinden sorulmasını istemekteyiz.

Kopyası demekten maksatımız ise; varsa kullanılan formüller, userformlar, makroların da belge içerisinde olması ve
bu sayede de istenilen sonuca daha kısa sürede ve gereksiz karşılıklı mesajlaşma olmadan (dolayısıyla harcanan emek va vakitin boşa gitmemesi) ulaşılmasının sağlanması.
.
 

magnesia

Yasaklı üye
Katılım
1 Ocak 2018
Mesajlar
351
Excel Vers. ve Dili
Excel 2010 Türkçe
Altın Üyelik Bitiş Tarihi
01.01.2023
Ömer Bey.
Söylediklerinizin hepsi doğru.
Bundan sonra daha dikkatli olmaya özen göstereceğim.
Uyarınız için teşekkür ederim.
 
Üst