• DİKKAT

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

Excel'de Karışık Toplama

Katılım
1 Aralık 2011
Mesajlar
5
Excel Vers. ve Dili
Ofis 2010
Herkese merhaba
Benim sorum şu şekilde:
Diyelimki A1 sutununa yazdıgım deger B1 sutununda otomatik toplanacak yalnız ben A1 sutununa deger girdikce B1 sutunu onu sürekli toplayacak
Örnek: A1 sutun degerlerine önce
10 degerini girdim enter e bastım sonra
15 degerini girdim sonra
5 diye bir deger daha girdim
B1 sutunu önce
10 olacak sonra
25 olcak sonra
30 olacak şekilde istiyorum.Yani Excel önceki degeri hafızasında tutsun istiyorum. Bunu yolunu biliyormusunuz.Daha dogrusu excel de böyle bir sey yapılabiliyor mu? Not:Excel de daha yeniyim bir kusurum olduysa affola.
 
Herkese merhaba
Yani Excel önceki degeri hafızasında tutsun istiyorum. Bunu yolunu biliyormusunuz.Daha dogrusu excel de böyle bir sey yapılabiliyor mu? Not:Excel de daha yeniyim bir kusurum olduysa affola.

Merhaba,

Çalışma sayfasının kod bölümüne kopyalayın.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
 
    Range("B1") = Range("B1") + Target
 
End Sub
 
Üstat kodlar işime yaradı çok teşekkür ederim.Ama ben tüm A sutunu ve B sutununda tamamen geçerli olması için ne yapabilirim.1 saattir araştırıyorum bulamadım.Ve son ricam Toplama işlemin aynısının çıkartmasıda lazım " - target " yaptım hata verdi de zamanın olurda bakarsan sevinirim.Allaha emenet ol.
 
Merhaba

Private Sub Worksheet_Change(ByVal Target As Range)

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

Range("B1") = Range("B1") + Target

End Sub

Denermisiniz
 
Üstat kodlar işime yaradı çok teşekkür ederim.Ama ben tüm A sutunu ve B sutununda tamamen geçerli olması için ne yapabilirim.1 saattir araştırıyorum bulamadım.Ve son ricam Toplama işlemin aynısının çıkartmasıda lazım " - target " yaptım hata verdi de zamanın olurda bakarsan sevinirim.Allaha emenet ol.

Eğer tüm A sütunundaki işlemi B1 hücresine toplatacaksanız Sayın numan şamil'in verdiği kodları kullanın. A sütununda birebir karşılıkları B sütununda toplanacaksa aşağıdaki kodları kullanın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
 
    With Target
        .Offset(0, 1) = .Offset(0, 1) [COLOR=red][B]+[/B][/COLOR] .Value
    End With
 
End Sub
+ yerine - yaparsanız çıkartma işlemi yapar.

.
 
Hepinize çok teşekkür ederim sayenizde hiç bilgim olmayan Excel de bir proje çıkarttım.Tekrar Çok teşekkür ederim.Allaha emanet olun.
 
Üstatlar yine rahatsız ediyorumda ben toplama ve çıkarma işlemlerini nasıl aynı anda kullanabilirim.
Aşagıdaki kod yanlış biliyorumda, yapmak istedigim bu aslında yardımlarınızı bekliyorum.A ve B sutunu Toplama C ve D Sutunuda çıkarmada kullanılacak aynı sayfada.


Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Intersect(Target, [d:d]) Is Nothing Then Exit Sub

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

End With

End Sub
 
Üstatlar yine rahatsız ediyorumda ben toplama ve çıkarma işlemlerini nasıl aynı anda kullanabilirim.
Aşagıdaki kod yanlış biliyorumda, yapmak istedigim bu aslında yardımlarınızı bekliyorum.A ve B sutunu Toplama C ve D Sutunuda çıkarmada kullanılacak aynı sayfada.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [COLOR=red][A:A,C:C][/COLOR]) Is Nothing Then Exit Sub
 
    With Target
[COLOR=blue]     If .Column = 1 Then[/COLOR]
[COLOR=blue]         .Offset(0, 1) = .Offset(0, 1) + .Value[/COLOR]
[COLOR=blue]     Else[/COLOR]
[COLOR=blue]         .Offset(0, 1) = .Offset(0, 1) - .Value[/COLOR]
[COLOR=blue]     End If[/COLOR]
    End With
 
End Sub
Bu şekilde deneyin.

--------------------------------------------------------------------------------------------

[A:A,C:C] ile makronun sadece A ve C sütunlarındaki tetikleme ile çalıştığını belirledik.

If .Column = 1 Then
.Offset(0, 1) = .Offset(0, 1) + .Value
Else
.Offset(0, 1) = .Offset(0, 1) - .Value
End If

Burada ise eğer tetiklenen hücre sütun indeksi 1 ise ( yani A ) ise topla,

değilse (Else) çıkart dedik.

Mantığı bu şekildedir.
 
Çok dan daha çok teşekkür ederim allah razı olsun site 10 numara sayenizde çok güzel bir proje ortaya koydum.Allaha emanet olun.
 
Geri
Üst