Girilen sayıyı yan hücrede sürekli toplama

Katılım
12 Nisan 2013
Mesajlar
7
Excel Vers. ve Dili
turkçe
Selamlar arkadaşlar.

A1'den A6'ya kadar toplam kutularımız ve B1'den B6'ya kadar yine sayı girmek için hücrelerimiz var.Girdiğimiz sayıyı yan hücresine sürekli olarak ekleyen bir makro ihtiyacım var.Yardımcı olur musunuz.Tek bir hücre için yapabiliyorum.Ama 6 hücreye yayamıyorum bunu.


Örnek veriyorum Ömer Bey;
B1 hücresine 70 girdik ve entere bastık A1 hücresinde 70 yazmalı.Arkasından tekrar B1 hücresine 40 gibi bi sayı girdik bu sefer A1 hücresi 110 olacak.Yani sürekli olarak B1 hücresine girilip enter'a basıldıkça bu sayıyı A1 hücresine ekleyecek.Aynı durum diğer 5 hücre için de geçerli.B2 hücresi her seferinde içine girilen sayıyı A2 hücresine,B3 hücresi A3'e gibi...

Teşekkür ediyorum Ömer Bey şimdiden.

Yardımlarınız için teşekkürler.
 
Son düzenleme:

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Soruyu açmanızı rica ederim. Yan hücre demişsiniz, B1 in yan hücresi hangisi, C1 'in yan hücresi hangisi?
Sorularınızı detaylı açıklamaya özen gösteriniz.

.
 

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Sayfanın kod bölümüne ekleyip denermisiniz.
Zor bey dakika farkıyla cevap vermiş.Alternatif olsun.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B1:B6")) Is Nothing Then Exit Sub
Cells(Target.Row, 1) = Cells(Target.Row, 1) + Cells(Target.Row, 2)
End Sub
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Alternatif (2)
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [B1:B6]) Is Nothing Then Exit Sub
Target.Offset(0, -1).Value = Target.Offset(0, -1).Value + Target.Value
End Sub
 
Katılım
19 Ekim 2022
Mesajlar
2
Excel Vers. ve Dili
Excel 2019 Pro
Selamlar bu konu hakkında bir sorum vardı. ben bu kodu VBS oalrak ekledim ve çok iyi şekilde çalışyor E21:E23 arasına girdiğim sayıları bir sola ekliyor çok iyi., fakat aynı sayfada F23:25 e girdiklerimi de sağdaki hücreye eklemek istiyorum. aynı kodu hücre isimlerini değiştirip (eksi işaretlerini + yapıp) denediğimde oluyor. fakat 2 farklı kod çalıştıramıyorum ya ilki yada ikinciyi seçmem gerekiyor. aynı satırda nasıl yazabilirim bunu ?
 
Katılım
5 Ocak 2024
Mesajlar
17
Excel Vers. ve Dili
2013 (15.0.5589.1000)
Peki hücreler dikey değil de yatay olsaydı? Örneğin görseldeki gibi, H4 hücresine girilen değeri B4 hücresinde toplasın, H5'e girilen değeri B5, K4'e girilen değeri E4'te nasıl toplayabilir?

 
Katılım
5 Ocak 2024
Mesajlar
17
Excel Vers. ve Dili
2013 (15.0.5589.1000)
Aşağıdaki kodu girdiğimde istediğim gibi H5 hücresine girilen her değer B5 hücresine ekleniyor ama bunu diğer hücrelere uyarlayamadım. Daha doğrusu kodu genişletemedim, hata veriyor. H5-B5 arasındaki bağı I5 ve C5 arasında da yapmak istiyorum ama aşağıdaki kodu nasıl genişletebilirim ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("h5")) Is Nothing Then Exit Sub
[b5] = [b5] + [h5]
End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Deneyiniz...
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H4:L5")) Is Nothing Then Exit Sub
Target.Offset(0, -6).Value = Target.Offset(0, -6).Value + Target.Value
End Sub
 
Katılım
5 Ocak 2024
Mesajlar
17
Excel Vers. ve Dili
2013 (15.0.5589.1000)
Merhaba,
Deneyiniz...
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H4:L5")) Is Nothing Then Exit Sub
Target.Offset(0, -6).Value = Target.Offset(0, -6).Value + Target.Value
End Sub
Çok teşekkürler
 
Son düzenleme:
Katılım
5 Ocak 2024
Mesajlar
17
Excel Vers. ve Dili
2013 (15.0.5589.1000)
Bu arada kopyala yapıştır yapıldığında hata veriyor run time error 13 hatası, neyse sorun değil, tek tek veri girdiğimde çalışıyor sonuçta.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Toplu düzenleme yapabilmek için aşağıdaki şekilde deneyebilirsiniz.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H4:L5")) Is Nothing Then Exit Sub
For Each hcr In Intersect(Target, Range("H4:L5")).Cells
    If IsNumeric(hcr.Value) Then hcr.Offset(0, -6).Value = hcr.Offset(0, -6).Value + hcr.Value
Next
End Sub
 
Katılım
2 Nisan 2008
Mesajlar
130
Excel Vers. ve Dili
2003 TÜRKÇE
Altın Üyelik Bitiş Tarihi
25.05.2019
Selam
Benim isteğimde ENTER'a basınca imleç sabit kalsın
yani B1 rakam girip ENTER yaptığında imleç yine B1 de kalsın
Teşekkürlerrr
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
B1 rakam girip ENTER yaptığında imleç yine B1 de kalsın
Merhaba,
Deneyiniz...
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then
    Target.Select
End If
End Sub
 
Katılım
2 Nisan 2008
Mesajlar
130
Excel Vers. ve Dili
2003 TÜRKÇE
Altın Üyelik Bitiş Tarihi
25.05.2019
Pardon ben eksik yazmışım

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Intersect(Target, [B1:B6]) Is Nothing Then Exit Sub

Target.Offset(0, -1).Value = Target.Offset(0, -1).Value + Target.Value

End Sub

yukarıda yazılan bu toplama makrosunda imleç B1:B6


arasında nerede rakam giriyorsa imleç o hücrede kalsın yukarıda yazdığım B1 örnekti, bu B6 da olabilir.
Yani toplama yaptığımda imleç aşağı inmesin ki ara vermeden toplama yapabilelim...,
Teşekkürler...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
End Sub yazan satırın üstüne Target.Select ekleyip deneyiniz.
 
Katılım
2 Nisan 2008
Mesajlar
130
Excel Vers. ve Dili
2003 TÜRKÇE
Altın Üyelik Bitiş Tarihi
25.05.2019
Tamamdır
çok teşekkür ederim...
 
Üst