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
Altın Üyelik Bitiş Tarihi
23-10-2026
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
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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
 

Deniz_Excel

Altın Üye
Katılım
15 Mart 2016
Mesajlar
134
Excel Vers. ve Dili
MS Excel 2016
Altın Üyelik Bitiş Tarihi
23-10-2026
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?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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.
 

Deniz_Excel

Altın Üye
Katılım
15 Mart 2016
Mesajlar
134
Excel Vers. ve Dili
MS Excel 2016
Altın Üyelik Bitiş Tarihi
23-10-2026
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

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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.
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
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..
 

Deniz_Excel

Altın Üye
Katılım
15 Mart 2016
Mesajlar
134
Excel Vers. ve Dili
MS Excel 2016
Altın Üyelik Bitiş Tarihi
23-10-2026
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.
 
Üst