Türkçe Dizi Formülünü VBA İçinden Hücreye Yazma

SilinenUye8231

Kullanıcı
Katkı: %1
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba.
Aşağıdaki formülü, vba tarafına Türkçe olarak ekledim.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (1 satır). Giriş Yap

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (5 satır). Giriş Yap

Aşağıdaki dizi formülünü vba tarafına Türkçe olarak eklemeye çalıştım olmadı.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (1 satır). Giriş Yap

Yardımcı olur musunuz
 
Sayın Ömer Bey, formülü hücreye yazıyor 2.satırı sarıya boyuyor.
Siyahla belirttiğim yeri sarıya boyuyor.


Sub FormülYaz1()
[R2].FormulaLocal = "=EĞER(EĞERHATA(İNDİS(GSM!Q$2:Q$9666;KÜÇÜK(EĞER(EĞERSAY(R$1:R1;GSM!Q$2:Q$9666)=0;SATIR(GSM!Q$1:Q$9665));1));"""")=0;"""";EĞERHATA(İNDİS(GSM!Q$2:Q$9666;KÜÇÜK(EĞER(EĞERSAY(R$1:R1;GSM!Q$2:Q$9666)=0;SATIR(GSM!Q$1:Q$9665));1));""""))"
[R2].FormulaArray = [R2].Formula
End Sub
 
O şekilde sorun olmasaydı zaten ben de doğrudan sizin formülü kullanırdım.
Benim verdiğim şeklin sonuçları istenilen sonuçlar mı değil mi?

Bir kez önceki cevabımdaki gibi, bir kez de aşağıdaki gibi deneyin.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (4 satır). Giriş Yap
 
Sayın Ömer Bey, en son düzeltmiş olduğunuz formül, benim dosyamdaki formülün aynı sonucunu veriyor.

Ben hücreden kopyalayarak aldığım formülü vba için yapıştırdığımda hata veriyor (Çift tırnak olanları arttırdığım halde).
Normalde hücrede benim formül çalışıyor.

Aradaki farkı anlamadım.
 
Formülün kökü: İNDİS(....) kısmı.
EHATALIYSA(İNDİS(.....);"") değil EHATALIYSA(İNDİS(.....);0) yazmak daha mantıklı,
İNDİS kısmının hataya düşmemesi demek aranan koşula uygun verinin olması, dolayısıyla da sonucunun 0 olmaması demek.

Muhtemelen formülün kurgulanmasındaki mantık çelişkisiyle ilgili bir durumdur.

İhtiyaç görüldüğüne göre zaten mesele yok.

.
 
Geri
Üst