Evaluate ne anlama gelir

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,854
Excel Vers. ve Dili
2019 Türkçe
Arkadaşlar Evaluate ne anlama geliyor ne iş yapıyor
kullanımı Sayfa1.Evaluate şeklinde oluyor ama bir türlü anlayamadım. Yardım edermisniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Arkadaşlar Evaluate ne anlama geliyor ne iş yapıyor
kullanımı Sayfa1.Evaluate şeklinde oluyor ama bir türlü anlayamadım. Yardım edermisniz.
Bu fonksiyon bir formül sonucu elde edilen değeri verir. Örneğin A1 hücresine =B1*C1 formülünü yazın. Aşağıdaki kodu çalıştırdığınızda A1 hücresindeki formülün sonucunu verecektir.

Kod:
Sub calistir()
MsgBox Sayfa1.Evaluate("A1")
End Sub
Aynı kodda A1 hücre tanımlaması yerine formülün kendisinide yazabilirsiniz.

Kod:
Sub calistir()
MsgBox Sayfa1.Evaluate("=B1*C1")
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,854
Excel Vers. ve Dili
2019 Türkçe
Sayın Levent yanıtınız için teşekkürler

Şu Evaluate bana bayağı ilginç geldi

Cevabınızı anladım ancak şimdi iki soru daha sormak isterim
1-Madem evaluate ile bir hücredeki hesaplama sonucu alınıypr neden bunu kullanayım. yani
MsgBox Sayfa1.Evaluate("A1")
yerine
MsgBox [A1] kullanmak daha akıllıca değil mi. Kodu neden uzatayım.
Bunu sormaktaki amacım Eğer Evaluate diye bir şey varsa bu VBA yı kullanan bizler için çekici olmalı bu çekici tarafı nedir?

2-Aslında ilk mesajımda açıklamam gerekirdi.
Elimde bir uygulama var bu uygulamada
Değer = Sayfa1.Evaluate("_C1")
şeklinde kullanılmış "_C1" için alan tanımlamasıdır demeyin çünkü değil

bu satırı yeni bir excel dosyasında kullandığımda hata veriyor. İlginç tarafı ise bu kod satırını kullandığım dosyanın herhangi bir sayfasını başka bir dosyaya kopyaladığımda ve o dosyadan tekrar yeni dosyama aynı sayfayı kopyalayıp çalıştırdığımda hata vermiyor ve uzunca rakam ve harflerden oluşan bir değer veriyor. Aşağıdaki gibi
07000700514265797E2A4F727E6F646E6F782A43646C65570700
cevabınız için şimdiden teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bilgim ölçüsünde cevap vermeye çalışayım,

1-Kullanım amacınız yazdığınız gibiyse elbette ikinci yazdığınız tercih edilebilir ama bu fonksiyon ile vba içinde kullanılamayan fonksiyonları kullanma şansınız olur. Örneğin TOPLA.ÇARPIM, kullanımı evaluate("=SUMPRODUCT(......)") şeklindedir. Ayrıca bir hücre veya aralığa ad tanımlamış iseniz bu adı VBA içinde kullanma şansınızda olur.

2-Bu konuda fikrim yok ancak dosyayı eklerseniz belki kullanım amacını çözebiliriz.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,854
Excel Vers. ve Dili
2019 Türkçe
çok teşekkür ederim ilgilendiğiniz için ancak dosya özel olduğundan ekleyemiyorum.
Ancak şu şekilde dosyayı açıklamaya çalışayım .
Bahsettiğim uygulama ile diğer uygulamalara müdahele edilebiliyor, görsel uygulamalar yapılabiliyor. Diğer uygulamaların VBA kodlarına müdahele edilebiliyor(Yeni kod ekleme, silme, değiştirme, metin dosyasından kod alma gibi) birçok özelliği mevcut.

Şunuda belirtmek isterim VBA konusunda ileri düzey olmasamda birçok konuda bilgim ve tecrübem var. Bahsettiğim uygulamanın tüm satırlarının ne amaçla yazıldığını anlamış durumdayım. Ancak şu Evaluate'ye takıldım kaldım. Evaluate amacı dışındaa mı kullanılmış acaba?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
En azından evaluate fonksiyonunun geçtiği kodları yazın. Ayrıca "_C1" muhtemelen bir hücre veya alana verilen bir ad. Dosyanın ad tanımlamalarına bir bakın böyle tanımlanmış bir ad mevcutmudur.
 
Üst