• DİKKAT

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

Hücreden Dosya Çalıştırma

Katılım
13 Kasım 2010
Mesajlar
17
Excel Vers. ve Dili
Exel 2003
Exel 2007
Merhaba Ben Bir Hücreden Bir Dosyayı Çalıuştırmak İstiyorum Fakat Olmuyor

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, Range("A5:A30")) Is Nothing Then Exit Sub
If Dir$(ThisWorkbook.Path & "\Extre\" & [A5] & ".xls") <> "" Then
CreateObject("Shell.Application").Open ThisWorkbook.Path & "\Extre\" & [A5] & ".xls"
Else
MsgBox [A5] & " Hizmet Bedeli Dosyası Bulunmamaktadır.", vbCritical, "Dosya Bulunamadı"
End If
End Sub


Burda Tıklanan Hücrenin Bir Sol Hücresindeki İsmindeki Dosyayı Açsın

Target-1 Falan Denedim Ama Degil Sanırım Bulamadım
 
Merhaba Ben Bir Hücreden Bir Dosyayı Çalıuştırmak İstiyorum Fakat Olmuyor

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, Range("A5:A30")) Is Nothing Then Exit Sub
If Dir$(ThisWorkbook.Path & "\Extre\" & [A5] & ".xls") <> "" Then
[COLOR="Red"]CreateObject("Shell.Application").Open ThisWorkbook.Path & "\Extre\" & [A5] & ".xls"[/COLOR]
Else
MsgBox [A5] & " Hizmet Bedeli Dosyası Bulunmamaktadır.", vbCritical, "Dosya Bulunamadı"
End If
End Sub


Burda Tıklanan Hücrenin Bir Sol Hücresindeki İsmindeki Dosyayı Açsın

Target-1 Falan Denedim Ama Degil Sanırım Bulamadım




Kod:
Workbooks.Open "DOSYA YERİ" & ActiveSheet.Range("A5")
denermisiniz ?
 
Burda Tıklanan Hücrenin Bir Sol Hücresindeki İsmindeki Dosyayı Açsın

Target-1 Falan Denedim Ama Degil Sanırım Bulamadım

Merhaba,

Tıklanan aralık A5:A30 ise bunun solunda bir hücre olmaz. Ben size kısaca mantığını açıklamaya çalışayım siz dosyanıza uyarlarsınız.

If Intersect(Target, Range("A5:A30")) Is Nothing Then Exit Sub

Bu satırda A5:A30 aralığı hareket sonucuna göre kodu tetikleyen aralıktır.

Aşağıdaki gibi yazarak,

If Intersect(Target, Range("B5:B30")) Is Nothing Then Exit Sub

B5:B30 aralığını tanımlayalım.

Hareket de bulunduğunuz hücreden farklı ve belli bir ölçüye göre çalışmasını istiyorsanız target ile offset 'i birlikte kullmanız gerekir.

Örneğin

Target.Offset(0, -1)

bu şekilde yazarsanız hareket ettiğiniz hücrenin 0 ise ( aynı satırının) -1 ise ( sola doğru bir giderek oluşan sütununun ) değerine göre işlem yapar.

Yani,

B5:B30 arasında B8 hücresinde kodu tetiklerseniz A8 hücresindeki değeri alırsınız.

Offset(satır,sütun) şeklinde değerlendirebilirsiniz. satır yada sütun 0 olduğunda aynı hücreyi ifade eder, + yada - sayı durumuna göre işlem gören hücrenin belirtilen koordinatlarında işlem yapar.

Yukarıdan bağımsız birkaç örnek vereyim.

Target değeri D15 olsun.

Target.Offset(2, 3) bu şekilde yazarsanız G17 hücresinde işlem yapar. (2 satır altı 17. satır 3 sütun yanı G sütunu )

Target.Offset(1, 4) bu şekilde yazarsanız H16 hücresinde işlem yapar. (1 satır altı 16.satır 4 sütun yanı H sütunu )

Sizde örneğinizde önce target ( işlem ) aralğını belirleyin buna göre yukarıdaki kodda [A5] yazan bölümlere target.offset kodunu satır ve sütun belirledikten sonra ilave edersiniz..

.
 
Geri
Üst