• DİKKAT

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

Dosya Adının Sonuna Tarih Ekleme

  • Konbuyu başlatan Konbuyu başlatan Rheago
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Temmuz 2019
Mesajlar
181
Excel Vers. ve Dili
2010 ve 2016 Türkçe
Merhaba arkadaşlar. Aşağıdaki kodu bu sitede buldum. Açık olan excel sekmesini C ye kaydetmeye yarıyor. Ama çalıştıramadım bir türlü. Yeni kitap olarak açıyor ama kaydetmeyip hata veriyor makro. Bunu nasıl düzeltebilirim?
Ayrıca birkaç sorun var galiba kodda.
C ye kaydedeceği dosyanın adı sekme adıyla aynı olmalı.
Buna ek olarak dosya adının sonuna bugünün tarihini eklemesini nasıl sağlayabilirim?

Kod:
Sub test()
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
dosyam = "İSİM"
ActiveWorkbook.SaveAs "C:\" & dosyam & ".xls", FileFormat:=xlNormal
ActiveWorkbook.Close
End Sub
 
Aşağıdaki kodu deneyiniz.
Kod:
Sub Kaydet()
    Application.DisplayAlerts = False
    Dim SayfaAdi As String, Tarih As String, DosyaAdi As String
    SayfaAdi = ActiveSheet.Name
    Tarih = Format(Date, "dd-mm-yyyy")
    DosyaAdi = SayfaAdi & " " & Tarih
    ActiveWorkbook.SaveAs "C:\" & DosyaAdi & ".xls", FileFormat:=xlNormal
    Application.DisplayAlerts = True
    ActiveWorkbook.Close  'kayıt işlemi bittikten sonra dosyanın kapanmasını istemiyorsanız bu satırı siliniz.
End Sub
 
Aşağıdaki kodu deneyiniz.
Kod:
Sub Kaydet()
    Application.DisplayAlerts = False
    Dim SayfaAdi As String, Tarih As String, DosyaAdi As String
    SayfaAdi = ActiveSheet.Name
    Tarih = Format(Date, "dd-mm-yyyy")
    DosyaAdi = SayfaAdi & " " & Tarih
    ActiveWorkbook.SaveAs "C:\" & DosyaAdi & ".xls", FileFormat:=xlNormal
    Application.DisplayAlerts = True
    ActiveWorkbook.Close  'kayıt işlemi bittikten sonra dosyanın kapanmasını istemiyorsanız bu satırı siliniz.
End Sub
Merhaba hocam. Hata verdi malesef.
 
Denermisiniz tarih ve saat
Kod:
Sub test()
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
dosyam = "İSİM"
ActiveWorkbook.SaveAs "C:\" & dosyam & Format(Now, "ddmmyy") & "-" & Format(Now, "hhmm") &".xls", FileFormat:=xlNormal
ActiveWorkbook.Close
End Sub
 
Denermisiniz tarih ve saat
Kod:
Sub test()
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
dosyam = "İSİM"
ActiveWorkbook.SaveAs "C:\" & dosyam & Format(Now, "ddmmyy") & "-" & Format(Now, "hhmm") &".xls", FileFormat:=xlNormal
ActiveWorkbook.Close
End Sub
İlginize teşekkür ederim. Bu makro mevcut sekmeyi ayrı dosyada açıp hata veriyor.
 
c: dizini altına yazma yetkiniz varmı hata ondandır. bende c altıma yedek klasörü oluşturdum makro çalıştı.
Kod:
Sub test()
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
dosyam = "İSİM"
ActiveWorkbook.SaveAs "C:\YEDEK\" & dosyam & Format(Now, "ddmmyy") & Format(Now, "hhmm") & ".xls"
ActiveWorkbook.Close
End Sub
 
c: dizini altına yazma yetkiniz varmı hata ondandır. bende c altıma yedek klasörü oluşturdum makro çalıştı.
Kod:
Sub test()
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
dosyam = "İSİM"
ActiveWorkbook.SaveAs "C:\YEDEK\" & dosyam & Format(Now, "ddmmyy") & Format(Now, "hhmm") & ".xls"
ActiveWorkbook.Close
End Sub

Merhaba hocam. Kaydetme sorununu çözdüm. Sizin paylaştığınız kodu kendime göre düzenledim. Kaydetmede problem fakat şöyle bir eksik çıktı. Bir çalışma kitabında 3 tane sekme var diyelim. Bu kod o an ekranımda açık olan sekmeyi değilde 1. sıradaki sekmeyi kaydediyor. Ben sadece ekranımda açık olan sekmeyi kaydetsin istiyorum. Öyle bir şey mümkün değilse sekme adını manuel nasıl değiştirebilirim?

Kod:
Sub test()
Dim SayfaAdi As String
SayfaAdi = ActiveSheet.Name
Set ktp = Workbooks.Add(1)
ThisWorkbook.Sheets(1).Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
Application.CutCopyMode = False
ActiveWorkbook.SaveAs "C:\Users\YB129\Desktop\İŞ DOSYALARI\TEKNİK FORM\" & SayfaAdi & Format(Now, " dd-mm-yyyy") & ".xls", FileFormat:=xlNormal
ActiveWorkbook.Close
End Sub
 
Arkadaşlar desteğiniz için çok teşekkür ederim. Paylaşılan kodları aşağıdaki gibi revize ederek istediğim hale getirdim.

Kod:
Sub test()
Dim SayfaAdi As String
SayfaAdi = ActiveSheet.Name
Set ktp = Workbooks.Add(1)
ThisWorkbook.ActiveSheet.Cells.Copy
ktp.Sheets(1).Cells(1).PasteSpecial
ktp.Sheets(1).Name = SayfaAdi
Application.CutCopyMode = False
ActiveWorkbook.SaveAs "C:\Users\Bilgisayar\Desktop\" & SayfaAdi & Format(Now, " dd-mm-yyyy") & ".xlsx", FileFormat:=xlWorkbookDefault
ActiveWorkbook.Close
End Sub
 
Geri
Üst