• DİKKAT

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

EĞer,if İfadelerİ

Katılım
29 Eylül 2008
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
Merhaba arkadaşlar;

Aşağıdaki kodu


Set kappa_sınır_durum_1_duzeltilmis = Sayfa2.Range(Cells(2, 17), Cells(2, 17))

kappa_sınır_durum_1_duzeltilmis.Formula = "=IF(N2=0;5;3)"




yazdığımda hata veriyor.

FormulaLocal kullanıp IF yerine EĞER ile yazarsam aynı ifadeyi sorun yok ama bilgilenmek açısından burada yaptığım hata çok kafamı kurcalıyor. Acaba açıklayabilir misiniz; ingilizcesinde ne gibi bir hataya sebebiyet veriyorum.

Teşekkürler.
 
Merhaba arkadaşlar;

Aşağıdaki kodu


Set kappa_sınır_durum_1_duzeltilmis = Sayfa2.Range(Cells(2, 17), Cells(2, 17))

kappa_sınır_durum_1_duzeltilmis.Formula = "=IF(N2=0;5;3)"




yazdığımda hata veriyor.

FormulaLocal kullanıp IF yerine EĞER ile yazarsam aynı ifadeyi sorun yok ama bilgilenmek açısından burada yaptığım hata çok kafamı kurcalıyor. Acaba açıklayabilir misiniz; ingilizcesinde ne gibi bir hataya sebebiyet veriyorum.

Teşekkürler.


Excelin Türkçe sürümünde hücrelere yazacağınız formüller de Türkçe olmalıdır diye düşünüyorum.
Ayrıca, yazdığınız kodlardan dolayı vba alanında yeni olduğunuzu tahmin ediyorum. Birkaç tavsiye

Sayfa2.Range(Cells(2, 17), Cells(2, 17)) yazmak yerine sadece sayfa2.cells(2,17) yazmanız yeterli olurdu. Çünkü siz bu kodla sadece hücre girmişsiniz, alan tanımlamak için bu yolu kullanmalısınız. Bir diğer husus da, alan tanımlamak için bu kodu kullandığınızda, sayfa tanımlamasını cells'lerden önce de yazmalısınız. Sayfa2.Range(sayfa2.Cells(2, 17), sayfa2.Cells(3, 19)) gibi.

Teknik olarak pek bir sakıncası olmamakla birlikte kappa_sınır_durum_1_duzeltilmis gibi uzun değişken tanımlamak da kullanım açısından sıkıntı yaratabilir. Daha kısa değişkenler tanımlarsanız iyi olur.

İyi çalışmalar..
 
Son düzenleme:
Mahmut bey ,
Arkadaş türkçe sürümü kullandığı için sizin tespitinize göre if değilde eğer kullancak.
Peki ,bu yazdığı kodlarla daha sonra bu dosyayı ingilizce ofis olan bir bilgisayardada (Eğer kullanımlı) kullanabilecekmi?
O zaman hata vermeyecekmi?
Yoksa Eğeri if'e mi çevirecek otomatikman?
 
Evren Bey, dediğiniz gibi otomatik olarak eğer-if değişimi yapıyor. Demek ki sorun farklı.
 
Son düzenleme:
Evren Bey, dediğiniz gibi otomatik olarak eğer-if değişimi yapıyor. Demek ki sorun farklı.

Entersan.Eğeri nasıl ingilizceye çeviriyor.
Bende buna benzer bir durumla karşılaştım.Kod ile Koşullubiçimlendirme yaptım.Ve ETarihli (Türkçede ETArihli ingilizcede DateIf) fonksiyonunu kullandım.
Baştan formülü kodu yazarken dateif olarak kullandım çalışmadı.Sonra Etarihli kullandım çalıştı.Ama İngilizce sürüm olan bir bilgisayarda denemedim ve çalışıp çalışmayacağı konusunda şüpheliydim.
Sizin açıklamanızdan sonra demekki çalışacak.
Teşekkür ederim.
 
Entersan.Eğeri nasıl ingilizceye çeviriyor.
Bende buna benzer bir durumla karşılaştım.Kod ile Koşullubiçimlendirme yaptım.Ve ETarihli (Türkçede ETArihli ingilizcede DateIf) fonksiyonunu kullandım.
Baştan formülü kodu yazarken dateif olarak kullandım çalışmadı.Sonra Etarihli kullandım çalıştı.Ama İngilizce sürüm olan bir bilgisayarda denemedim ve çalışıp çalışmayacağı konusunda şüpheliydim.
Sizin açıklamanızdan sonra demekki çalışacak.
Teşekkür ederim.

Evren Bey, ben kodu İngilizce sürümde kullanmadım, sadece kodda İf de yazsam, eğer de yazsam, hücreye Türkçe EĞER olarak geldiğini gördüm. Orijinali İngilizce olduğundan zannımca sadece İngilizceleri yerel dillere çeviriyor olabilir.
 
Teşekkürler sayın hocalarım ayrıca sayın Mahmut hocam tavsiyeleriniz çok iyi oldu.Yalnız sayfa2.Range dedikten sonra hücreleri de ayrıca sayfa2 koymanın nedenini biraz daha açabilir miyiz? Range'in Sayfa2 de olduğunu söylememiz neden yeterli gelmiyor?
 
Sayın Evren Hocam doğru mu anladım acaba? Siz Türkçe ofis kullandığınız bilgisayarınızda FormulaLocal ile yazdığınız Etarihli fonksiyonunu İngilizce ofise sahip bilgisayara taşırsanız o ofisin yerel dili ingilizce olduğu için ve formulaLocal dediğiniz için o Türkçe fonksiyonu İngilizceye çevirebilecek mi?
 
Yani ben Formula ile FormulaLocal arasındaki tam farkı kavramış değilim açıkçası
 
Teşekkürler sayın hocalarım ayrıca sayın Mahmut hocam tavsiyeleriniz çok iyi oldu.Yalnız sayfa2.Range dedikten sonra hücreleri de ayrıca sayfa2 koymanın nedenini biraz daha açabilir miyiz? Range'in Sayfa2 de olduğunu söylememiz neden yeterli gelmiyor?

Eğer bu kodu çalıştırdığınızda zaten belirttiğiniz sayfadaysanız, yani sayfa2'deyseniz zaten sorun olmayacaktır. Ancak başka bir sayfadayken bu kodu çalıştırmak isterseniz, sayfa belirtmediğiniz hücre ve alanları, arka plandaki aktif sayfadaki hücre ve alanlar olarak değerlendirir ve hataya ya da yanlış sonuca sebep olabilir. Sizin örnek kodunuzu Sayfa1'de çalıştırmayı deneyiniz.
 
Sayın Evren Hocam doğru mu anladım acaba? Siz Türkçe ofis kullandığınız bilgisayarınızda FormulaLocal ile yazdığınız Etarihli fonksiyonunu İngilizce ofise sahip bilgisayara taşırsanız o ofisin yerel dili ingilizce olduğu için ve formulaLocal dediğiniz için o Türkçe fonksiyonu İngilizceye çevirebilecek mi?


Ben ilk önce, kodda hangi formülü girersek, hücreye de kodda belirtildiği gibi geleceğini tahmin etmiştim. Yani kodda if yazıyorsa, hücrede de if yazacağını sanmıştım. Ancak denedim kodda if de olsa eğer de olsa hücreye Türkçe EĞER olarak geliyor. Bunu ingilizce sürümde denemedim ama Türkçeyi İngilizceye çevireceğini sanmıyorum, orijinali İngilizce olduğu için, ingilizce girilmiş kodları yerel dillere çevirebilir diye düşünüyorum.

Bu yüzden, Türkçe sürümde kod kısmında da formülü Türkçe kullanmak gerekir demiştim, ingilizce kullansak da oluyormuş, yani benim tespitim doğru değilmiş. Özetle, eğer-if değişimi dedim ama bu ifade yanlış oldu aslında, İF EĞER oluyor; ama EĞER'in İF olacağını sanmıyorum.
 
Hocam çok teşekkür ederim ben bir sordum birçok şey öğrendim sizin gibi yardımsever bir hocayla tanıştığım için çok memnunum.Sağolun.
 
Geri
Üst