• DİKKAT

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

Köprü Makrosu

Katılım
15 Kasım 2017
Mesajlar
47
Excel Vers. ve Dili
Excel 2013
İyi Günler Arkadaşlar.

=köprü("D\dosyalar\"&a1;"Detay")

Amacım bu formulü makro olarak kullanmak.
d sürücüsündeki dosyalar klasöründeki a1 hücre değeri isimli klasörü açmak.
bu köprüyü n sütununda her satıra a sütunundaki veriye göre kaydetmek.
bu makroya uğraşıyorum bir türlü bulamadım.

Herkese şimdiden teşekkürler.
 
Ömer bey'in yazdığı aşağıdaki makro işinizi görür.

Kod:
Sub Dosya_Ac()
 
    Dim ad As String, yol As String
 
    ad = Range("A1") & ".xls"
 
    yol = "D\dosyalar\"
        
    CreateObject("Shell.Application").Open yol & ad
 
End Sub
 
Emeğiniz icin teşekkür ederim.
Konuyu Yanlış anlattım galiba.
Ben fonksiyonu n satırına yazdırmak istiyorum n satırında Detay yazacak ben tıkladığım zaman a1 deki veriyi dediğim yolda açacak.
not=a1 bu arada klasör ismi excel dosyası değil.
ben userform ile kayıt yapıyorum. a,b,c, ..... sütunları doldurup n sütununa fonksiyonu atamak istiyorum.
 
Kod:
Private Sub WorkSheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Cells(Target.Row, "N") = "D\Dosyalar\" & Cells(Target.Row, "A")
End If
End Sub

Bu makro da kısaca A sütunu her değiştiğinde N sütununa D/Dosyalar/"A sütunundaki değer" gelir
yani eğer A sütununa 1 yazarsanız
Değer D\Dosyalar\1
olur.

Eğer tıklayarak o Klasörü açmak istiyorsanız kod bu. Örnek bir excel koyabilirseniz daha ayrıntılı bakılabilir.

Kod:
Yol = Cells(Target.Row, "N")     
If CreateObject("Scripting.FileSystemObject").FolderExists(Yol) = True Then
   Shell "explorer.exe" & " " & Yol, vbNormalFocus
End If
 
Son düzenleme:
Yardımlarınız için teşekkür ederim aşağıdaki kodu kendime uyarlıyarak sorunu çözdüm.
Kod:
Sub kopru()
    Dim evn As Object, dosyam As Object, fso As Object
    Dim yol As String
    Dim i As Integer
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set evn = CreateObject("Scripting.FileSystemObject")
    yol = ThisWorkbook.Path
    Set dosyam = evn.GetFolder(yol)
    
    For i = 2 To Sayfa1.Range("D65536").End(3).Row
        If fso.FolderExists(dosyam) Then
            ActiveSheet.Hyperlinks.Add Anchor:=Sayfa1.Cells(i, 4), _
            Address:=dosyam & "\" & Sayfa1.Cells(i, 4) 
        End If
    Next i
    
    i = Empty
    yol = vbNullString
    Set fso = Nothing: Set dosyam = Nothing: Set evn = Nothing
End Sub

Bir şey daha soracaktım bu d sutunundaki verilere ait wordlerde yazışmalarını yapıyoruz
mesela 2017.1 Klima arızaları gibi başlıklar altında ben sadece d sütununa 2017.1 yazıyorum.
demek istediğim 2017.1,2017.2, sabit kalıyor ama yanındaki başlıklar değişiyor başlıkları tek tek kopyalamak ve uzantılarını yazmakta vakit alıyor.
2017.1 'in arkasına nasıl bir işlem yapabilirim ki gitsin .doc yada .docx dosyasını açsın mesela 2017.1 & "*" & ".doc*" denedim olmadı.
Tekrar teşekkür ederim.
 
Geri
Üst