Araç çubuğuna "Yedekleme Butonu" ekleme

Katılım
14 Mart 2006
Mesajlar
69
Bir çok örneğe baktım ama aradığım gibi bişi bulamadım. Araççubuğuna bir buton koyayım ve butona tıklayınca yedek alsın ve kapatsın.
İstediğim şu :
1. Belirlediğim klasöre yedek alsın. Herseferinde dosya yolunu sormasın.
2. Dosya adının yanına tarih ekleyerek isimlendirsin. Dosya varsa üzerine yazsın.
3. Yedek aldıktan sonra otomatik kapatsın.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
mrb.,
Ekli dosyayı incelermisiniz.
 
Katılım
24 Ağustos 2004
Mesajlar
140
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Merhaba,

Bunu bir deneyin.

Sub Yedekle()
Dim fName As String
fName = "yedek"
klasor = "C:\YEDEK\"
fName = fName & " " & Format(Date, "DD-MM-YYYY") & ".xls"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=klasor & fName
Application.DisplayAlerts = True
ActiveWorkbook.Close
End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Tşk.
Yardımcı olabildiğime sevindim. :D :D :D
 
Katılım
14 Mart 2006
Mesajlar
69
Sn dEdE , çok güzel açıklamışsınız. Ek olarak sizinkine ek olarak dosya adına saat ve dakika da vermek istedim ama beceremedim.
Bu konuda yardımcı olabilir misiniz?
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
"C:\Documents and Settings\KULLANICIADI\Belgelerim\xx\Yedek-" & Date & ".xls", FileFormat:= _

buradaki Date komutunu Now komutu ile değiştirin
 
Katılım
14 Mart 2006
Mesajlar
69
Ok tşk ler. Gerçekten çok makbule geçti.
Yalnız bir nokta dikkatimi çekti "Ana Çalışma Dosyası" nı kaydetmiyor :yardim:
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Sub Yedekle()
Application.DisplayAlerts = False
'KULLANICIADI bölümüne kendi dosya yolunu yazmalısın
ChDir "C:\Documents and Settings\KULLANICIADI\Belgelerim\xx"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\KULLANICIADI\Belgelerim\xx\Yedek-" & Date & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.DisplayAlerts = True
Application.Quit
End Sub

Arkadaşlar ellerinize,gönüllerinize sağlık...........
Sayın DEDE,
Bu kodlar sizin çalışmanızdan... Bu kodlarla çalışma kitabının tamamını yedekliyorsunuz.Çalışma kitabındaki sadece bir çalışma sayfasını (örneğin Liste adlı sayfamızı) yedeklemek istesek????
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _

Yukarıdaki satırda xlNormal komutunu xlExcel4 komutu ile değiştiriniz. Ancak bu defa makronuz yok olacaktır. Başka bir çözüm var sanıyorum ama, ancak yarın bakabileceğim.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Merhaba,

Bir alternatifte benden olsun.

Makro önce C:'de Yedek klasörünün olup olmadığını kontrol ediyor.

Yok ise Yedek klasörü yaratıp içine dosyayı kopyalayarak, sadece ilgili dosyayı kapatıyor.

Kolay gelsin.
[vb:1:cdea26e370]
Sub YedekAl()
On Error Resume Next
Dim FSO As Object
Dim MyFolder, MyFile, MyFileEnd As String
Dim s As Long
MyFolder = "C:\Yedek"
MyFile = "RAPOR"
MyFileEnd = MyFile & " " & Format(Now, "dd mm yyyy hh mm") & ".xls"
Set FSO = CreateObject("Scripting.FileSystemObject")

If Not FSO.FolderExists(MyFolder) Then
FSO.CreateFolder (MyFolder)
End If

ActiveWorkbook.SaveCopyAs Filename:=MyFolder & Application.PathSeparator & MyFileEnd

Set FSO = Nothing

s = Excel.Application.Windows.Count
If s = 1 Then
Application.Quit
Else
ActiveWorkbook.Close
End If
'www.excel.web.tr
End Sub[/vb:1:cdea26e370]
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
benim bilgisayarda kodları deneyim dedim fakat biliyorsunuzki excelde dosya isimlerinde özellikle tarih ve saat yazılan verilerde.(nokta) ve / (ayraç) karekterlerini dosya adına yazmıyor ve kodda hata veriyordu bende şöyle bir çözüm geliştirdim.
örnek olması açısından kodları ekliyorum.
aşağıdaki kodlamada yedekleme klasörü olarak "c:\yedek1\"olduğu varsayılmıştır.

Kod:
Sub Yedekle()
    Dim i As String
    Dim b As String
    Dim c As String
    Dim d As String
    Application.DisplayAlerts = False
    b = Len(Right(ActiveWorkbook.Name, 4))
    Debug.Print b
        i = Len(ActiveWorkbook.Name)
        c = Left(ActiveWorkbook.Name, (i - b))
    Debug.Print c
    Debug.Print i
        d = Format(Now, "dd mm yyyy hh mm nn")
        ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & c & d & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        ActiveWorkbook.Save
        Application.Quit
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
aşağıdaki kod aktif olan sayfayı yeni sayfaismi tarih ssat olarak kaydeder
C:\yedek1\ klasörüne kaydeder
Kod:
Sub sayfayedekle()
Dim i As String
Dim b As String

i = ActiveSheet.Name
b = Format(Now, "dd mm yyyy hh mm nn")
ActiveSheet.Select
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & i & b & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        
       Workbooks(i & b & ".xls").Activate
       ActiveWorkbook.Close
       ActiveWorkbook.Save


End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Çalışma kitabındaki sadece bir çalışma sayfasını (örneğin Liste adlı sayfamızı) yedeklemek istesek????
Arkadaşlar, sayın DEDE'nin hazırladığı kodlarda küçük bir değişiklik demiştim........
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
Sayın aliakgul,
Kod:
Sub listesayfasınıyedekle()
Dim i As String
Dim b As String

i = Sheets("Liste").Name

b = Format(Now, "dd mm yyyy hh mm nn")
Sheets("Liste").Select
Sheets("Liste").Copy
ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & i & b & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        
       Workbooks(i & b & ".xls").Activate
       ActiveWorkbook.Close
       ActiveWorkbook.Save
End Sub
 

yyhy

Altın Üye
Katılım
3 Aralık 2005
Mesajlar
917
Excel Vers. ve Dili
Microsoft Office 2021 TR
Microsoft 365 TR
Altın Üyelik Bitiş Tarihi
20-03-2029
bir örnek sayfa atabilirmisiniz..

arkadaşlar bir örnek sayfa atabilirmisiniz....atabilirseniz memmun olurum..
 
Üst