• DİKKAT

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

VBA - Hücreye formül yazma hatası

  • Konbuyu başlatan Konbuyu başlatan Mayhart
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Ekim 2008
Mesajlar
6
Excel Vers. ve Dili
2010TR
Merhaba,

Aşağıda yazdığım ilk kod çalışıyor ve E9 hücresine =A1+A2 formülünü giriyor. Ancak E10 hücresine hiçbir şey yazmıyor. Nerede hata yapıyorum? Yardımcı olacaklara şimdiden teşekkür ederim.

Range("E9").Select
ActiveCell.Formula = "=A1+A2"

Range("E10").Select
ActiveCell.Formula = "=DÜŞEYARA(A9;Sayfa2!C:E;3;YANLIŞ)"

Not: Office 2010 TR kullanıyorum.
 
. . .

Kod:
ActiveCell.Formula = "=VLOOKUP(A9,Sayfa2!C:E,3,0)"

. . .
 
Çok teşekkür ederim. Bu durumda VBA içindeyken hiçbir zaman Türkçe komutlar kullanılmayacak anlamı çıkıyor galiba.
 
. . .

Aslında orjinali bu.
Formüller ingilizce olmalı ve ; (noktalı virgül) yerine , (virgül) kullanmalısınız.

. . .
 
ayrıca bir hücreye veya aralığa veri yahut formül yazmak için onları "seçmek" zorunda değiliz.


Kod:
Range("E10").Formula = "=VLOOKUP(A9,Sayfa2!$C$1:$E$5000,3,0)"

Kod:
Range("E10:E800").Formula = "=VLOOKUP(A9,Sayfa2!$C$1:$E$5000,3,0)"


C:E tüm sütun referansı yerine $C$1:$E$5000 gibi belirli bir aralık kullanmak formüllerin daha hızlı çalışmasını sağlayacaktır. küçük tablolarda pek problem olmamakla birlikte tablo büyüdükçe bu şekilde yazmak hız sağlar.
 
Son düzenleme:
rica ederim.

formüle hücre referansını mutlak hale getirmek için $ işaretlerini de ekledim. böylece aralık sabit kalacak.

kod ile

Range("E10:E800").Formula = "=VLOOKUP(A9,Sayfa2!$C$1:$E$5000,3,0)"

yazdırdığımızda

E10 hücresindeki formül : =VLOOKUP(A9;Sayfa2!$C$1:$E$5000;3;0)
E11 hücresindeki formül : =VLOOKUP(A10;Sayfa2!$C$1:$E$5000;3;0)
E12 hücresindeki formül : =VLOOKUP(A11;Sayfa2!$C$1:$E$5000;3;0)

şeklinde kendisi düzenlenecek.
 
Geri
Üst