• DİKKAT

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

Hata Mesajı Hk.

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
193
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Merhaba ,

Elimde aşağıdaki gibi bir kod var. VBA' dan anlayanlar için, koddan da anlaşılacağı üzere, masaüstünde açık halde " Temp.xls" isimli bir dosya varsa o dosyayı, bendeki excel dosyasına yapıştırıp, " Temp.xls" dosyasını benden onay almadan kapatıyor.

Benim rica şudur ; Aşağıdaki macro kodları çalıştırıldığında, eğer masaüstünde açık halde " Temp.xls " dosyası yok ise, " Dosya bulunamadı" şeklinde bir hata/uyarı mesajı vermesini nasıl sağlayabilirim.

Cevaplarınız için şimdiden teşekkür ederim.



Elimdeki Kod :

Sub TEST()
'
' TEST Makro
'

'
Sheets("YATIRIM DEĞERLENDİRME").Select
Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Visible = True

Windows("Temp.xls").Activate
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("PROJE.xlsb").Activate
Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("YATIRIM DEĞERLENDİRME").Select
Range("B2").Select
Windows("Temp.xls").Activate
Application.CutCopyMode = False
ActiveWindow.Close
ActiveSheet.Range("$B$2:$AA$10647").AutoFilter Field:=1, Criteria1:= _
"<>*UP*", Operator:=xlAnd, Criteria2:="<>*DOWN*"
Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
ActiveWindow.SelectedSheets.Visible = False
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData

End Sub
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
659
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
petsiye,
Deneyiniz.


Kod:
Sub TEST()
    On Error Resume Next
    Dim tempFile As Workbook
    Set tempFile = Workbooks("Temp.xls")
    If tempFile Is Nothing Then
        MsgBox "Temp.xls dosyası bulunamadı."
        Exit Sub
    End If
    Sheets("YATIRIM DEĞERLENDİRME").Select
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Visible = True
    tempFile.Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("PROJE.xlsb").Activate
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("YATIRIM DEĞERLENDİRME").Select
    Range("B2").Select
    tempFile.Close SaveChanges:=False
    ActiveSheet.Range("$B$2:$AA$10647").AutoFilter Field:=1, Criteria1:= _
        "<>*UP*", Operator:=xlAnd, Criteria2:="<>*DOWN*"
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
    ActiveWindow.SelectedSheets.Visible = False
    If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
End Sub
 

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
193
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Sayın klop01,

Nokta atışı cevabınız için çok teşekkür ederim. Fakat aşağıdaki şekilde bir soru mesajı almaktayım. Hem bu soruyu direkt " Hayır " olarak cevaplayıp, hemde " Temp.xls " dosyasının sorgusuz sualsiz kapatılmasını nasıl sağlayabilirim acaba ?

243006

iyi çalışmalar dilerim
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
659
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
Kod:
Sub TEST()
    On Error Resume Next
    Dim tempFile As Workbook
    Set tempFile = Workbooks("Temp.xls")
    If tempFile Is Nothing Then
        MsgBox "Temp.xls dosyası bulunamadı."
        Exit Sub
    End If
    Application.DisplayAlerts = False
    Sheets("YATIRIM DEĞERLENDİRME").Select
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Visible = True
    tempFile.Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("PROJE.xlsb").Activate
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("YATIRIM DEĞERLENDİRME").Select
    Range("B2").Select
    tempFile.Close SaveChanges:=False
    Application.DisplayAlerts = True
    ActiveSheet.Range("$B$2:$AA$10647").AutoFilter Field:=1, Criteria1:= _
        "<>*UP*", Operator:=xlAnd, Criteria2:="<>*DOWN*"
    Sheets("TARAMA SONUCUNU BURAYA YAPIŞTIR").Select
    ActiveWindow.SelectedSheets.Visible = False
    If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
    Workbooks("Temp.xls").Close SaveChanges:=False
End Sub
 

petsiye

Altın Üye
Katılım
28 Eylül 2009
Mesajlar
193
Excel Vers. ve Dili
Office 2019 TR 32 Bit
Altın Üyelik Bitiş Tarihi
10-05-2029
Verdiğiniz kod sorunsuz ve sorusuz gayet güzel çalışıyor.

Tekrar çok teşekkür eder, İyi çalışmalar dilerim
 
Üst