Kodları Fonksiyona dönüştürmede yaşanan sıkıntı hk.

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Sub Test_()
Dim folder As String
Dim dosya As String

On Error Resume Next
folder = Range("C2").Value
dosya = Range("E2").Value

Range("K2").Value = "='" & folder & "\[" & dosya & "]Sayfa2'!A6"

End Sub
Bu kodla, kapalı olan dosyadan açık dosyaya hücre değerini alabiliyorum.

Bunu bir fonksiyon şekline (aşağıda) dönüştürmek istedim, fakat yapamadım.
Yardımcı olabilirmisiniz.


Function Kapali_Dosya(folder As String, dosya As String, sayfa As Worksheet, hucre As Range)
Kapali_Dosya = "='" & folder & "\[" & dosya & "]" & sayfa & "'!" & hucre

End Function
İyi Çalışamlar dilerim
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin. Ama bu şekildede dosya kapalı iken çalışmayacaktır. Dosyayı açtığınızda işlem yapacaktır. Bunun yerine sayfa üzerindeki işlem sonucuna göre yukarıda yazdığınız makroyu çağırabilirsiniz.

[vb:1:9de3899da0]Kapali_Dosya = Evaluate("='" & folder & "\[" & dosya & "]" & sayfa & "'!" & hucre)
[/vb:1:9de3899da0]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Levent ilgine teşekkürler,

Kapali_Dosya = Evaluate("='" & folder & "\[" & dosya & "]" & sayfa & "'!" & hucre)
Ben dosya kapalı iken çalıştırmak istemiştim, Yalnız bu şekilde dosya açıkken de çalışmadı,

#VALUE! sonucunu veriyor.

Kapalı iken makro çalışıyor , aynısının fonksiyon dönüşümü neden çalışmaz olabilir?

İyi Çalışmalar dilerim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bu işte benim esas anlamadığım, bu iş için neden böyle bir fonksiyon hazırlamaya çalıştığınız.

Normal olarak hücreye;

='C:\MyFolder\[Test.xls]Sheet1'!C3

yazmakla,

=Kapali_Dosya("C:\MyFolder".".............)

yazmak, aynı uzunlukta bir iş.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Haluk;

A sütununda klasör adı (her satırda farklı)
B sütununda dosya adı (her satırda farklı)


yazılı olan 1000 satırlık bir listede; Dosya ve klasör adlarını hücreden alması amacıyla böyle bir fonksiyon düşünmüştüm.

='C:\MyFolder\[Test.xls]Sheet1'!C3
sizin verdiğiniz bu fonksiyon benim düşündüğüm biçime dönüştürülebir mi?

Teşekkürler, İyi Çalışmalar.
 
Üst