En son indirilen exceli makro ile açmak

Katılım
4 Mart 2020
Mesajlar
40
Excel Vers. ve Dili
OFFİCE 2016, VBA
Altın Üyelik Bitiş Tarihi
06-03-2021
hocam yeniden denedim, başka bilgisayarda da denedim, yine olmadı da, sanırım benim office den de kaynaklanıyor olabilir, sizi de yordum, kusura bakmayın, tekrar teşekkürler, iyi çalışmalar hocam
 
Katılım
20 Şubat 2007
Mesajlar
659
Excel Vers. ve Dili
2007 Excel, Word Tr
Merhaba,
Problem dosya isminin yol ismiyle birlikte olmasından (uzun isim) kaynaklanıyor olabilir.
Kod:
    Workbooks(Last_File).Close False
satırının üstüne

Kod:
    Last_File = Right(Last_File, Len(Last_File) - InStrRev(Last_File, "\"))
yazıp kısa isme ulaşıp deneyiniz.

Yani şöyle:
Kod:
    Last_File = Right(Last_File, Len(Last_File) - InStrRev(Last_File, "\"))
    Workbooks(Last_File).Close False
 
Katılım
4 Mart 2020
Mesajlar
40
Excel Vers. ve Dili
OFFİCE 2016, VBA
Altın Üyelik Bitiş Tarihi
06-03-2021
necati bey oldu, teşekkür ederim,
kodların başına ve sonuna

Application.DisplayAlerts =False
..
kodlar
..
Application.DisplayAlerts = True

yazınca da, ardından çıkan uyarılardan kurtuldum, tam istediğim gibi oldu.
KORHAN Hocama, Necati beye ayrı ayrı teşekkür ediyorum

son halini de paylaşıyorum istifade edilir niyetiyle,


Kod:
Sub Ekle()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim Kitapadi As String
    Dim FSO As Object, Source_Folder As Object
    Dim My_Path As String, My_File As Object
    Dim My_File_Extension As String
    Dim Last_Date As Date, Last_File As String
    My_Path = Environ("UserProfile") & "\Downloads"
    My_File_Extension = "xls"
    Set FSO = VBA.CreateObject("Scripting.FileSystemObject")
    Set Source_Folder = FSO.GetFolder(My_Path)
    For Each My_File In Source_Folder.Files
        If My_File.DateLastModified > Last_Date Then
            If InStr(1, FSO.GetExtensionName(My_File), My_File_Extension) > 0 Then
                Last_File = My_File
                Last_Date = My_File.DateLastModified
            End If
        End If
    Next
    Workbooks.Open Last_File, False, False
    Range("a1").Select
    If Range("I6").Value <> "İŞLETMEDEKİ SIĞIR-MANDA TÜRÜ HAYVAN BİLGİ RAPORU" Then
        MsgBox ("Lütfen doğru liste seçiniz!"), vbCritical, "Hatalı Liste!"
    Else
    Sheets(1).Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Range("A12:AR" & Rows.Count).ClearContents
    For i = 1 To Sheets.Count
    If Sheets(i).Name <> Sheets(Sheets.Count).Name Then
        son = Sheets(i).Cells(Rows.Count, "C").End(3).Row
        yeni = WorksheetFunction.Max(12, Sheets(Sheets.Count).Cells(Rows.Count, "C").End(3).Row + 1)
        Sheets(i).Range("C12:AO" & son).Copy Sheets(Sheets.Count).Cells(yeni, "C")
    End If
    Next
    Cells.Select
    Selection.Copy
    Windows("Ana Uygunluk & Tarih Aralıkları Programı.xlsm").Activate
    Worksheets("Animals").Visible = xlSheetVisible
    Sheets("Animals").Select
    Cells.Select
    Range("a1").Activate
    ActiveSheet.Paste
    Worksheets("Animals").Visible = xlSheetVeryHidden
    Worksheets("Sayfa4").Visible = xlSheetVeryHidden
    Sheets("Ana Sayfa").Select
    Range("A1").Select
    MsgBox ("Hayvan Varlığı Listesi Başarıyla Yüklendi."), vbInformation
    Last_File = Right(Last_File, Len(Last_File) - InStrRev(Last_File, "\"))
    Workbooks(Last_File).Close False
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    End If
End Sub
 
Katılım
4 Mart 2020
Mesajlar
40
Excel Vers. ve Dili
OFFİCE 2016, VBA
Altın Üyelik Bitiş Tarihi
06-03-2021
bide arkadaşlar güzel bir kod daha buldum belki istifade edenler olur,
bunu yazınca da çalıştı yukardaki kod,
aktif olan açık excel haricindeki tüm excelleri kapatıyor, sadece kullanılan excel dosyası kalıyor,
gerçi bu kod ile başka açık olup, varsa kullanılan exceller de kapanır haberiniz olsun :)

iyi çalışmalar...

Kod:
    Dim wb As Workbook
    For Each wb In Workbooks
        If wb.Name <> ThisWorkbook.Name Then
            wb.Close SaveChanges:=False
        End If
    Next wb
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir de aşağıdaki gibi deneyiniz.

Klasördeki son dosyayı açan satırda SET ifadesi ile dosyayı tanımlamak sorunu çözebilir.

Öncelikle tanımlalar bölümüne aşağıdaki satırı ekleyiniz.

Dim WB As Workbook

Sonra aşağıdaki satırı bir sonraki gibi değiştiriniz.

Workbooks.Open Last_File, False, False

Olması gereken hali;

Set WB = Workbooks.Open(Last_File, False, False)

Yine END SUB satırının üstüne aşağıdaki satırı ekleyip deneyiniz.

WB.Close False
 
Katılım
4 Mart 2020
Mesajlar
40
Excel Vers. ve Dili
OFFİCE 2016, VBA
Altın Üyelik Bitiş Tarihi
06-03-2021
KORHAN hocam elinize emeğinize sağlık, uyguladım bu da çok güzel sorunsuz çalıştı, çok teşekkür ediyorum
 
Üst