• DİKKAT

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

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,201
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,060
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,201
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,398
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,201
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