Diğer kullanıcı tarafından yapılan herhangi bir yanlış değişiklik veya yanlışlıkla excel dosyasının silinmesi çok fazla zaman ve bilgiyi bozabileceğinden, verilerin düzenli aralıklarla yedeklenmesi gerekir.
Bu yazımızda VBA kullanarak Excel dosyasının yedeğini nasıl alacağınızı ele alacağız.
Bu yazıda VBA kodunu kullanarak yedekleme almanın iki farklı yolunu ele alacağız. Excel dosyasının yedeğini almak için iki makro yazdık.
“SaveWorkbookBackup” makrosu, aktif çalışma kitabının kaydedildiği klasörde “.bak” uzantılı Excel dosyasının bir yedeğini oluşturacaktır.
“SaveWorkbookBackupToFloppy” makrosu, D sürücüsündeki etkin çalışma kitabının bir kopyasını oluşturacak ve bu, etkin çalışma kitabı için yedekleme dosyası görevi görecektir.
Kod açıklaması
Tamam Değilse O zaman
MsgBox "Yedek Kopya Kaydedilmedi!", vbExclamation, ThisWorkbook.Name
Bitir
Makronun yürütülmesi sırasında bir çalışma zamanı hatası oluştuğunda, hata mesajını görüntülemek için yukarıdaki kod kullanılır.
AWB.Path = "" ise
'Dosya kaydetme için Farklı kaydet iletişim kutusu görüntüleniyor
Application.Dialogs(xlDialogSaveAs).Göster
Dosyanın yedeğini almadan önce dosya kaydedilmezse, Farklı Kaydet iletişim kutusunu görüntülemek için yukarıdaki kod kullanılır.
Lütfen kod için aşağıdan takip edin
Seçenek Explicit Sub SaveWorkbookBackup() Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Dosyanın tam yolunu dosya adı boyunca değişken BackupFileName BackupFileName = AWB'ye ata.FullName 'Checking dosya kaydedilir 'Dosya kaydedilmemişse, dosyayı kaydetme Eğer AWB.Path = "" O zaman 'Dosya kaydetme için Farklı Kaydet iletişim kutusu görüntüleniyor Application.Dialogs(xlDialogSaveAs).Show Else 'Dosya uzantısı dosya adından kaldırılıyor i = 0 iken InStr(i + 1, BackupFileName, ".") > 0 'i = InStr(i + 1, BackupFileName, ".") dosyasının uzantısını bulun Wend If i > 0 Sonra BackupFileName = Left(BackupFileName, i - 1) BackupFileName = BackupFileName & ".bak" dosya adıyla '.bak' yedekleme uzantısı ekleme Ok = AWB ile Yanlış .Save 'Dosyanın Yedeği Oluşturuluyor .SaveCopyAs BackupFileName Ok = Sonlu True End If NotAbleToSave: 'Hata işleme kodu Set AWB = Hiçbir Şey Tamam Değilse O Zaman MsgBox "Yedek Kopya Kaydedilmedi!", vbExclamation, ThisWork book.Name End If End Sub Sub SaveWorkbookBackupToFloppy() Dim AWB As Workbook, BackupFileName As String, i As Integer, OK As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'D sürücüsünde yedekleme yapmak için yolu belirtin DriveName = "D :\" 'Değişkenleri başlatma Set AWB = ActiveWorkbook BackupFileName = AWB.Name Tamam = False 'Dosyanın kaydedilip kaydedilmediği kontrol ediliyor 'Dosya kaydedilmemişse dosyayı kaydediyorsa AWB.Path = "" Ardından 'Farklı Kaydet iletişim kutusu görüntüleniyor dosya kaydetme Application.Dialogs(xlDialogSaveAs).Show Else 'Yedekleme dosyası zaten varsa dosya siliniyor Eğer Dir(DriveName & BackupFileName) "" Sonra DriveName & BackupFileName Kill AWB ile Son .Save 'Yedekleme dosyası oluşturuluyor .SaveCopyAs DriveName & BackupFileName Ok = True End With End If NotAbleToSave: 'Hata işleme kodu Set AWB = Tamam Değilse Hiçbir Şey O Zaman MsgBox "Yedek Kopya Kaydedilmedi!", vbExclamation, ThisWorkbook.Name End If End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın