• DİKKAT

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

VBA ile excel hücresine bir formülü başında eşittir olarak otomatik gönderme sırasında hata almak

Deniz_Excel

Altın Üye
Katılım
15 Mart 2016
Mesajlar
134
Excel Vers. ve Dili
MS Excel 2016
Arkadaşlar merhaba,

Excel hücresine = diyerek yazdığımız herhangi bir formülü VBA içerisinde aynı mantıkla yaptığımda
"Application-defined or object defined error" alıyorum. Bu tarz değer atamalarını worksheetfunction metoduna hiç girmeden VBA ile yapmak mümkün değil mi?

Yazdığım kodu aşağıdaki gibi paylaştım.

Sub formulawriting()
Dim formultext As String
formultext = "=EĞER(B2=1;1;0)"
Sheets("Sheet1").Range("A1").Value = formultext
End Sub
 
Merhaba.
Birkaç hatanız var.
Eğer yerine If
Value yerine Formula
; işareti yerine , kullanmalısınız.

Kod:
Sub formulawriting()
    Dim formultext As String
    formultext = "=IF(B2=1,1,0)"
    Sheets("Sheet1").Range("A1").formula = formultext
End Sub
 
Merhaba.
Birkaç hatanız var.
Eğer yerine If
Value yerine Formula
; işareti yerine , kullanmalısınız.

Kod:
Sub formulawriting()
    Dim formultext As String
    formultext = "=IF(B2=1,1,0)"
    Sheets("Sheet1").Range("A1").formula = formultext
End Sub
Muzaffer Bey çok teşekkür ederim. bu şekilde oldu. Ancak bu sefer şöyle bir sorun çıkıyor ortaya. #AD? hatası alıyorum. İngilizde de #VALUE? olabilir
gidip bu hücreye imleçle tıklatıp dışarı çıkınca formül kendine gelip hatadan kurtuluyor. Bunu yapmama gerek bırakmasın istiyorum. Bir yolu yok mudur?
 
Bende öyle olmuyor direk çalışıyor.
Bir de yeni bir dosyada deneyin. Belki orijinal dosyanızda farklı bir sorun vardır.

Çözüm bulamazsanız dosyanızı paylaşın kontrol edelim.
 
Bende öyle olmuyor direk çalışıyor.
Bir de yeni bir dosyada deneyin. Belki orijinal dosyanızda farklı bir sorun vardır.

Çözüm bulamazsanız dosyanızı paylaşın kontrol edelim.
Muzaffer Bey merhaba,

Dosyayı ekledim. Hatta bir örnek daha basit toplama işlemi eleyerek yaptım. Aynı sorun onda da var. VBA ile nasıl bir fomül gönderirsem göndereyim ilk #AD hatası oluşuyor. hücreye tıklayıp çıkınca düzeliyor.
 

Ekli dosyalar

Exceliniz Türkçe olsa bile VBA kısmında İngilizce yazmanız gerekiyor.

2. mesajdaki kodu hiç değiştirmeden aynen olduğu gibi kullanın.
 
C++:
Sub formulawriting()
Dim formultext As String

formultext = "=IF(b1=1,1,0)" 'Excelim türkçe olduğundan EĞER yazmam gerekiyor
Sheets("Sheet1").Range("A1").Formula = formultext

End Sub



Sub formulawriting1()
Dim formultext As String
formultext = "=D1+D2" 'Excelim türkçe olduğundan EĞER yazmam gerekiyor
Sheets("Sheet1").Range("D3").Formula = formultext
End Sub

Bu şekilde çalışması lazım..
 
Exceliniz Türkçe olsa bile VBA kısmında İngilizce yazmanız gerekiyor.

2. mesajdaki kodu hiç değiştirmeden aynen olduğu gibi kullanın.
çok teşekkürler. Formül burada string değer olduğundan aynı şekilde hücreye gönderiliyor mantığıyla türkçe yazmıştım. Gerçekten sorun bundanmış. zamanınız için teşekkürler.
 
Geri
Üst