• DİKKAT

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

Dosya yolu bozuksa makrodan çık

misirkafa

Altın Üye
Katılım
31 Ekim 2018
Mesajlar
16
Excel Vers. ve Dili
2013-Türkçe
Merhaba belki vardır forumda ama epey araştırdım bulamadım.
formüllerle oluşturduğum bir dosya yolu var başka bir dosyadan veri alması gereken.

örneğin
C:\Users\mustafa\Desktop\Raporlama\Deneme Raporlama - 6\[deneme.xlsm]ASSETS'!$A$8
bu formülü makroyla ilgili yere yapıştırıp çalıştırıyorum
ancak formül yanlış sonuç ürettiğinde ( eksik bilgi girilince ) doğal olarak dosyayı ilgili adreste bulamayıp bir windows ekranı açıyor dosyayı göstermem için.

burada (eğer dosyayı bulamazsa) makronun durmasını istiyorum
esc yapıca vazgeçiyor ama çok fazla güncellenecek hücre olduğu için dakikalarca esc yapmam gerekiyor.

Teşekkür ederim şimdiden
 
DIR komutu ile dosyanın varlığını kontrol edebilirsiniz.

Aşağıdaki gibi bir mantık kurabilirsiniz.

Kod:
If Dir(Dosya_Yolu) <> "" Then
Yapılacak işlemleriniz....
End If
 
merhaba Korhan Bey teşekür ederim ilginize
ancak dosya yolunu henüz bilmediğim için yapamıyorum onu
dosya yolunu bir formül yardımıyla oluşturuyorum (bilgi sayfasında c 30 hücresinde )

sonrasında ilgili hücreyi kopyalayıp Finansal durum sayfasına yapıştırıyorum (hala metin gibi görünüyor) sonrasında F2+Enter işlevi görecek bir refreshcells makrosu çalıştırıp ilgili formülün çalışıp çalışmadığını test ediyorum ama eğer dosya yolu yanlışsa bunun sonucunda hata veriyor. dosyayı bulmamı istiyor.

umarım anlatabilmişimdir.

Sheets("Bilgi").Select
Range("C30").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Finansal Durum").Select
Range("I7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I6:I7").Select
Application.CutCopyMode = False
Application.Run "RefreshCells"
 
F2+ENTER makrosu içine verdiğim sorguyu kurgulayıp deneyiniz.
 
F2+Enter makrosu şu şekilde ama beceremedim dediğinizi

Sub RefreshCells()
Dim r As Range, rr As Range
Set rr = Selection
For Each r In rr
r.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
Next
End Sub
 
Deneyiniz.

Kod:
Sub RefreshCells()
Dim r As Range, rr As Range
Set rr = Selection
For Each r In rr
r.Select
If Dir(Replace(r.value, "=", "")) <> "" Then
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
End If
Next
End Sub
 
Merhaba,

Alternatif olsun.
Bulduğunuz Yolu bir değişkene aktardıktan sonra (dosya hariç) aşağıdaki gibi kontrol edebilirsiniz. Bu sadece Dosya yolunu kontrol eder.

Dosya yolu ile birlikte dosya adı da söz konusu ise Korhan beyin kodlarını kullanınız.

Kod:
Sub YolVarMi()

    Dim Yol As String
    
    Yol = "C:\Users\necdet\Documents\NECDET"
    
    If Dir(Yol, vbDirectory) = "" Then
        MsgBox "Yol Yanlış..."
    Else
        'KODLARINIZ
    End If
    
End Sub
 
Necdet Bey merhaba teşekkürler alternatif için ama dosya adı da var o yüzden Korhan beyin formülünden ilerlemeye çalışıyorum ama yine sonuç alamadım.

şöyle bir sorun çıkıyor bu seferde

Dosya yolunun çalışıp çalışmadığını test etmem için önce F2+Enter çalıştırmam lazım yoksa hücre içeriği =C: diye başlayıp dosya adı.xlsm ile biten bir adresten ibaret sadece (metin)

F2+ Enter yapınca ya sonuç "100" çıkıyor(çalışıyorsa) ya da dosya bulunamıyor.

esc ye basıp çıktığımda da doğal olarak hücrede #BAŞV! hatası veriyor

sonrasında da ikinci kez Korhan Beyin formülünü kullanayım dedim formülün devamı için, kullanınca
If Dir(r.Value) <> "" Then
satırı debug hatası veriyor. (değer göremediği için sanırım)
çok tarif edemedim sanırım vaktim olunca bir dosya ekleyerek yardımlarınızı rica ederim tekrar
 
Hücrenin görüntüsünü ekler misiniz? Formül çubuğu görünecek şekilde olsun lütfen..
 
1541167595227.png

Merhaba 1. işlem yukarıdaki bilgileri "Bilgi" Sayfasına giriyorum

bu bilgiler bir iki aşamadan daha geçerek şöyle bir formül oluşturuyor. ( birleştir formülünü kullanarak oluşturabidim sadece)
1541167701265.png

sonrasında makroyla bu hücreyi kopyalaıp "Finansal tablo" sayfasına özel yapıştır değerleri diyerek yapıştırıyorum

ancak yine metin olarak görünüyor bu sebeple F2+Enter yapmam gerekiyor çalışması için
F2+Enter yapınca da adres veya dosya adı doğru ise çalışıyor ve sonrasında artık çalışan hücreyi kopyalayıp diğer hücrelere de kopyalıyorum.

ama çalışmıyorsa başvuru hatsı veriyor ve sürekli dosyayı göstermemi istiyor.

umarım açıklayıcı olmuştur.
 
#6 nolu mesajıma küçük bir ekleme yaptım. Tekrar deneyiniz.
 
Geri
Üst