• 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.

  • Konbuyu başlatan Konbuyu başlatan tamer42
  • Başlangıç tarihi Başlangıç tarihi

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
 
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]
 
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.
 
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ş.
 
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.
 
Geri
Üst