Xuất dữ liệu ra file Excel mới VBA

Với Excel, mất điện đột ngột, lỗi File, mặc dù trước đó bạn đã bấm lưu, nhưng khi mở ra dữ liệu vẫn có thể bị mất hoặc thậm tệ hơn là mất điện quá lâu và dữ liệu cũng không lưu.

Để giải quyết vấn đề sao lưu tự động bằng VBA, và bạn luôn tự tin File Excel luôn được lưu và được sao chép vào một thư mục lưu trữ quy định trong ổ đĩa, ở đây mình quy định Folder lưu trữ là "Backup", và nó tự động được tạo ra nếu không có sẵn trong ổ đĩa của bạn, còn nếu có sẵn nó sẽ tự biết Copy một bản dự phòng vào đó.


Chúng ta thực hiện các bước sau:

1 Mở File bạn cần lưu tự động và thực hiện như sau

Mở cửa sổ soạn thảo Code ra, Nhấn ALT+F11 hoặc Developer, bấm chọn VisualBasic hoặc Viewcode để thực hiện viết code, bạn nào chưa biết cách làm tham khảo bài "VBA Cơ Bản Bài 01"

2 Viết code cho sự kiện WorkbookOpen, gọi Code AutoBackup

Nháy đúp vào 'ThisWorkbook', bên phải chọn sự kiện Open nhé, như hình trên, một Private Sub cho sự kiện Open sẽ tự động sinh ra, bạn chỉ cần chép đoạn code này vào

Private Sub Workbook_Open[]     Application.OnTime Now + TimeValue["00:00:20"], "AutoBackup"

End Sub

3 Viết code cho Sub AutoBackup tại Module "mdAutoBackup"

Nhập đúp chuột vào Module "mdAutoBackup", và copy đoạn code sau dán vào trình soạn thảo VBA của Excel [Nhấn phím Alt + F11 trong màn hình làm việc của Excel].

Option Explicit Sub AutoBackup[]     Dim FileExtStr  As String     Dim FileFormatNum As Long     Dim xWs         As Worksheet     Dim xWb         As Workbook     Dim FSO         As Object     Dim MyPath      As String          Application.ThisWorkbook.Save     MyPath = ThisWorkbook.Path & "\Backup"        '

Chủ Đề