Eğer şartındaki hata

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Günaydın arkadaşlar.

Aşağıdaki kodda hata nerededir. Sonuç doğru çıkmıyor. Yardımcı olabilirseniz sevinirim. Sonuç ekte gönderdiğim resimde.

istisna = Format(sab.Range("s22").Value, "#,##0.00") ---> (sab sayfası s22 hücresinin değeri 825.05)
If ActiveCell.Offset(0, 22).Value > istisna Then ( Aktif satır 22. sütunun değeri de 951,84)
ActiveCell.Offset(0, 23).Value = ActiveCell.Offset(0, 22).Value - Format(istisna, "#,##0.00") (Sonuç 129,79 çıkması gerekirken 0 çıkıyor.)
Else
ActiveCell.Offset(0, 23).Value = 0
End If
ActiveCell.Offset(0, 23).NumberFormat = "#,##0.00"
 

Ekli dosyalar

Ö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,

"If ActiveCell.Offset(0, 22).Value > istisna Then ( Aktif satır 22. sütunun değeri de 951,84) "
ActiveCell.Offset(0, 22)

Bu satırı doğru konumlandırdığınıza eminmisiniz.? Hangi sütunda işlem yapmak istiyorsunuz?
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba,


ActiveCell.Offset(0, 22)

Bu satırı doğru konumlandırdığınıza eminmisiniz.? Hangi sütunda işlem yapmak istiyorsunuz?
Evet örnek resimde de var zaten. İmleç b sütununa konumlanıyor. x ve y sütunları 0,22 ve 0,23 karşılık geliyor. Dosyamı gönderirdim ama dosya çok büyük. "<" küçüktür yapınca doğru çıkıyor fakat bu kez de 825,05 den küçük olunca sorun çıkıyor.
 

Ö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
Öncelikle sap sayfasındaki değer 825.05 mi yok sa 825,05 yani ondalık ayırıcısı noktamı virgül mü?

Virgül kabul ederek, aşağıdaki kod satırlarını kodlardaki;
istisna = Format(sab.Range("s22").Value, "#,##0.00") ---> (sab sayfası s22 hücresinin değeri 825.05) satırından sonra ekleyerek kodları çalıştırınız, yukarıda yazdığınız değerler ile mesaj ile bildirilecek değerler aynı mı kontrol edininiz.

MsgBox "istisna değeri: " & istisna
MsgBox "22.sütun değeri: " & ActiveCell.Offset(0, 22).Value

Aşağıdaki gibi.


istisna = Format(sab.Range("s22").Value, "#,##0.00") ---> (sab sayfası s22 hücresinin değeri 825.05)
MsgBox "istisna değeri: " & istisna
MsgBox "22.sütun değeri: " & ActiveCell.Offset(0, 22).Value
If ActiveCell.Offset(0, 22).Value > istisna Then ( Aktif satır 22. sütunun değeri de 951,84)
ActiveCell.Offset(0, 23).Value = ActiveCell.Offset(0, 22).Value - Format(istisna, "#,##0.00") (Sonuç 129,79 çıkması gerekirken 0 çıkıyor.)
Else
ActiveCell.Offset(0, 23).Value = 0
End If
ActiveCell.Offset(0, 23).NumberFormat = "#,##0.00"

.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Öncelikle sap sayfasındaki değer 825.05 mi yok sa 825,05 yani ondalık ayırıcısı noktamı virgül mü?

Virgül kabul ederek, aşağıdaki kod satırlarını kodlardaki;
istisna = Format(sab.Range("s22").Value, "#,##0.00") ---> (sab sayfası s22 hücresinin değeri 825.05) satırından sonra ekleyerek kodları çalıştırınız, yukarıda yazdığınız değerler ile mesaj ile bildirilecek değerler aynı mı kontrol edininiz.

MsgBox "istisna değeri: " & istisna
MsgBox "22.sütun değeri: " & ActiveCell.Offset(0, 22).Value

Aşağıdaki gibi.


istisna = Format(sab.Range("s22").Value, "#,##0.00") ---> (sab sayfası s22 hücresinin değeri 825.05)
MsgBox "istisna değeri: " & istisna
MsgBox "22.sütun değeri: " & ActiveCell.Offset(0, 22).Value
If ActiveCell.Offset(0, 22).Value > istisna Then ( Aktif satır 22. sütunun değeri de 951,84)
ActiveCell.Offset(0, 23).Value = ActiveCell.Offset(0, 22).Value - Format(istisna, "#,##0.00") (Sonuç 129,79 çıkması gerekirken 0 çıkıyor.)
Else
ActiveCell.Offset(0, 23).Value = 0
End If
ActiveCell.Offset(0, 23).NumberFormat = "#,##0.00"

.
Evet 805,25 ekteki resimdeki gibi çıkıyor. Sab sayfasındaki değer Virgül ile
 

Ekli dosyalar

Ö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
If ActiveCell.Offset(0, 22).Value > istisna Then

satırından sonra aşağıdaki satırı ilave eder misiniz.

MsgBox "Şart Doğru"

Kodları çalıştırınca "şart doğru" mesajı geliyor mu?

Birde;
ActiveCell.Offset(0, 22).Value - Format(istisna, "#,##0.00")
yerine aşağıdaki gibi yazınız.
ActiveCell.Offset(0, 22).Value -istisna
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
If ActiveCell.Offset(0, 22).Value > istisna Then

satırından sonra aşağıdaki satırı ilave eder misiniz.

MsgBox "Şart Doğru"

Kodları çalıştırınca "şart doğru" mesajı geliyor mu?

Birde;
ActiveCell.Offset(0, 22).Value - Format(istisna, "#,##0.00")
yerine aşağıdaki gibi yazınız.
ActiveCell.Offset(0, 22).Value -istisna
ActiveCell.Offset(0, 22).Value -istisna (Bu satırı değiniz gibi yaptım. )Sonuç 0 çıktı ama "şart doğru" mesajını vermedi.
 

Ö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
Bu şekilde deneyiniz.

istisna = sab.Range("s22").Value ' ---> (sab sayfası s22 hücresinin değeri 825.05)
If ActiveCell.Offset(0, 22).Value > istisna Then ' ( Aktif satır 22. sütunun değeri de 951,84)
ActiveCell.Offset(0, 23).Value = ActiveCell.Offset(0, 22).Value - istisna ' (Sonuç 129,79 çıkması gerekirken 0 çıkıyor.)
Else
ActiveCell.Offset(0, 23).Value = 0
End If
ActiveCell.Offset(0, 23).NumberFormat = "#,##0.00"
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Bu şekilde deneyiniz.

istisna = sab.Range("s22").Value ' ---> (sab sayfası s22 hücresinin değeri 825.05)
If ActiveCell.Offset(0, 22).Value > istisna Then ' ( Aktif satır 22. sütunun değeri de 951,84)
ActiveCell.Offset(0, 23).Value = ActiveCell.Offset(0, 22).Value - istisna ' (Sonuç 129,79 çıkması gerekirken 0 çıkıyor.)
Else
ActiveCell.Offset(0, 23).Value = 0
End If
ActiveCell.Offset(0, 23).NumberFormat = "#,##0.00"
Bu hali ile düzeldi. Çok teşekkür ederim Ömer bey vaktinizi aldım.
 

Ö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
Önemli değil, iyi çalışmalar.
 
Üst