• DİKKAT

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

Eğer şartındaki hata

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
777
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
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

  • Adsız.jpg
    Adsız.jpg
    475.2 KB · Görüntüleme: 3
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?
 
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.
 
Ö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"

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

  • Adsız1.jpg
    Adsız1.jpg
    7.2 KB · Görüntüleme: 1
  • Adsız2.jpg
    Adsız2.jpg
    8.3 KB · Görüntüleme: 1
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
 
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.
 
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 ş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.
 
Önemli değil, iyi çalışmalar.
 
Geri
Üst