• DİKKAT

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

A1+A2 sayilarini A3 hucresine topladiktan sonra A1 hucresini herseferinde sifir(0)...

Katılım
21 Ağustos 2012
Mesajlar
2
Excel Vers. ve Dili
microsoft excel 2010 ingilizce
merhabalar
bir sorum olacakti simdiden tesekkurler
A1+A2 sayilarini A3 hucresine topladiktan sonra A1 hucresini herseferinde sifir (0) yazdirabilirmiyim
 
Son düzenleme:
Alternatif olarak deneye yanıla şunu buldum:


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1", "a2")) Is Nothing Then Exit Sub


Sheets("Sayfa1").Range("A3").Value = Range("A1").Value + Range("A2").Value

Application.EnableEvents = False
Range("A1").Value = "0"
Application.EnableEvents = True
End Sub

Sayın moderatörlerim değerlendirirlerse sevinirim.

Bu kodlar A1 veya A2 değiştiğinde a3'e toplam alıp, A1'i 0 yapıyor. Ayrı bir düğmeye gerek yok.
 
Merhaba,

Yusuf bey sizin yönteminizde gayet kullanışlı. Fakat kodlarınızın içinde "Application.EnableEvents = False" komutu masumane gözüksede biraz tehlikeli bir koddur. Çünkü işlemleri donduruyor. Eğer bu kod "False" durumundayken kod hata verirse daha sonraki yapılan işlemler hesaplanmayacaktır. Bu sebeple hata kontrolü eklemekte fayda var.

Bu sebeple aşağıdaki yapı daha uygundur.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo 10
    If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
    Range("A3").Value = Range("A1").Value + Range("A2").Value
    If Range("A1") <> 0 And Range("A2") <> "" Then
        Application.EnableEvents = False
        Range("A1").Value = 0
    End If
10 Application.EnableEvents = True
End Sub
 
Gerçi arkadaşın amacını bilmiyorum ama şöyle yaparsak daha iyi olur herhalde:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo 10
    If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
    Range("A3").Value = Range("A1").Value + Range("A2").Value
    If Range("A1") <> 0 And Range("A2") <> "" Then
        Application.EnableEvents = False
        Range("A1").Select
        Range("A1").Value = 0
    End If
10 Application.EnableEvents = True
End Sub

Böylece, işlem sonunda A1 hücresi seçili olur.
 
tum cevaplariniz icin tesekkurler.
 
Geri
Üst