Soru Kod ile Seçili Hücre Değeri Üzerinden Eğer Koşulu

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Merhaba arkadaşlar;

Seçili hücre üzerinden satır ve sütunlar arasındaki gezinmek için ActiveCell.Offset(0, -1).Select bunu kullanıyorum diyelim.
Yine bu kod yapısını kullanarak aşağıdaki işlemleri yapmak istiyorum. Yardımcı olur musunuz ?


B2 seçili hücre iken A2 hücre değeri B2 ve C2 değerinin toplamına eşitse D2 hücresine İşlem Yapma yazsın.

B2 seçili hücre iken A2 hücre değeri B2 ve C2 değerinin toplamından büyükse D2 hücresine Matrah Yükselt yazsın.

B2 seçili hücre iken A2 hücre değeri B2 ve C2 değerinin toplamından küçükse D2 hücresine Kdv Yükselt yazsın.

 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,966
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Bu şekilde yapmak yerine Bir de KDV Oranı başlığı açsanız ve her satırda KDV oranı da belirtseniz, Tutar yazdığınızda Matrah ve KDV yi otomatik hesaplayıp yazılsa daha pratik olmaz mı?

Aşağıdaki kodu Sayfanın kod kısmına kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A:B"), Target) Is Nothing Then
        Cells(Target.Row, "C") = Cells(Target.Row, "A") / (1 + Cells(Target.Row, "B"))
        Cells(Target.Row, "D") = Cells(Target.Row, "B") * Cells(Target.Row, "C")
    End If
End Sub
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Muzaffer Ali;

Bu kodun öncesi var, araya bu eğer kodu girecek ve sonrası da olacak.
Böyle olunca sayfanın kod kısmına yazarak bunu çözemem.

B sütununda kdv tutarı var. Aşağıdaki kodu çalıştırıyorum. B sütunu matrah oluyor. C sütununa formül kullanarak kdv tutarını yazıyorum.
Bundan sebep kdv oranı açmama gerek yok.
ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(0, 0).Value / 0.2 bu kod ile

Yukarıdaki kod yapısı mantığını eğer ile birleştirerek kod yazmamız gerekir.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,966
Excel Vers. ve Dili
2019 Türkçe
O zaman aşağıdaki kodu kullanın.
Kod:
Sub kalem()
    With ActiveCell
        Cells(.Row, "D") = IIf(Cells(.Row, "A") = (Cells(.Row, "B") + Cells(.Row, "C")), "İşlem Yapma", "")
        Cells(.Row, "D") = IIf(Cells(.Row, "A") > (Cells(.Row, "B") + Cells(.Row, "C")), "Matrah Yükselt", "")
        Cells(.Row, "D") = IIf(Cells(.Row, "A") < (Cells(.Row, "B") + Cells(.Row, "C")), "Kdv Yükselt", "")
    End With
End Sub
 
Son düzenleme:

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Muzaffer Ali;

Kod çalışmıyor, dosya ektedir.
 

Ekli dosyalar

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Muzaffer Ali;

Kodu denedim. B2 ve B3 hücreleri seçili iken çalıştı ama sonuç yok. B4 hücresinde çalıştı ve sonuç var. Yani tam olarak doğru çalışmıyor.

Bir yandan da eğer kodunu anlamaya çalışıyorum.
Ekli dosyada hem sizin kodunuz hemde deneme amaçlı yaptığım kod var. Kod aşağıda ama hata veriyor. Hata nerede bulamadım.

Sub deneme()
IIf (ActiveCell.Offset(0, -1) > ActiveCell.Offset(0, 2), ActiveCell.Offset(0, 3).Select ActiveCell.FormulaR1C1 = "DENEDİM" , "")
End Sub
 

Ekli dosyalar

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Teşekkür ederim. emeğinize sağlık
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Merhaba;

Ekli dosyamda B2 ve C2 nin toplamı A2 hücresine eşit o halde D2 hücresi seçili iken butona basıyorum ve "Matrah Yükselt" yazıyor.
Halbuki yazması gereken "İşlem yapma" olmalı idi

A2 hücresinde =B2+C2 formülü veriyorum. D2 hücresinde butona basıyorum ve "İşlem Yapma" yazıyor ve doğru hareket bu.

İlkinde manuel olarak A2 hücresine değer giriyorum olmuyor, ikincisinde formülle giriyorum oluyor. Aynı sayı, sonuç farklı.
Nedenini bulamadım, yardımcı olur musunuz ?
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,757
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben şimdi denedim. D2 hücresinde "İşlem Yapma" ifadesi yazdı..
 

cavanoos

Altın Üye
Katılım
17 Aralık 2008
Mesajlar
664
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
11-01-2026
Korhan Bey;

Siz denediğinizde A2 hücresinde formül vardı. Butona bastınız ve "İşlem yapma" çıktı galiba.
Ekteki dosyada A2 hücresinde formül yok. D2 hücresinde butona basıyorum ve "Matrah Yükselt" çıkıyor.

Ama tutar aynı, sonuç niye farklı.
Ekli dosyada A2 hücresinde formül yok, şimdi deneyin. Bakalım "İşlem Yapma" çıkacak mı ?
 

Ekli dosyalar

Üst