Tạo Sổ làm việc Cá nhân (Microsoft Excel)
Nếu bạn sử dụng Excel khá ít, bạn biết bạn có thể nhận được một số sổ làm việc khá lớn từ đồng nghiệp. Thông thường, bạn nên chia nhỏ sổ làm việc để mỗi trang tính nằm trong sổ làm việc của chính nó. Mặc dù điều này có thể được thực hiện theo cách thủ công, nhưng quá trình này nhanh chóng trở nên tẻ nhạt nếu bạn có nhiều việc phải làm.
Loại công việc lặp đi lặp lại này là điều đương nhiên đối với macro. Macro sau, được gọi là BreakItUp, tạo các tệp sổ làm việc riêng lẻ dựa trên các trang tính trong sổ làm việc hiện tại. Do đó, nếu sổ làm việc hiện tại chứa 25 trang tính, việc chạy macro này dẫn đến 25 tệp sổ làm việc Excel riêng lẻ được tạo. Mỗi sổ làm việc có một trang tính duy nhất và tên của sổ làm việc giống với tên của trang tính.
Sub BreakItUp() Dim sht As Worksheet Dim NFName As String Const WBPath = "C:\" For Each sht In ActiveWorkbook.Worksheets sht.Copy NFName = WBPath & sht.Name & ".xls" ActiveWorkbook.SaveAs FileName:=NFName, _ FileFormat:=xlNormal, CreateBackup:=False ActiveWindow.Close Next End Sub
Macro BreakItUp lưu trữ các sổ làm việc mới trong thư mục gốc trên ổ C:. Nếu bạn muốn sổ làm việc của mình được lưu ở một nơi khác, bạn có thể chỉ cần thay đổi dòng mà hằng số WBPath được tạo.
Bạn cũng nên biết rằng macro này tương đối dễ gặp sự cố. Ví dụ: nếu bạn sử dụng một ký tự trong tên trang tính không phải là “hợp pháp”
đối với tên tệp, macro sẽ dừng một cách thô bạo khi nó cố gắng tạo tệp. Tất nhiên, bạn có thể dễ dàng thực hiện các sửa đổi đối với macro để kiểm tra và thay thế các ký tự bất hợp pháp như vậy.
Một cạm bẫy tiềm ẩn khác đối với macro là nó sẽ ngừng chạy nếu đã tồn tại một tệp có tên giống như trang tính. Ví dụ: giả sử bạn có một trang tính có tên MySheet1. Nếu đã có một tệp trên đĩa có tên MySheet1.xls, thì macro sẽ dừng khi cố gắng ghi đè tệp. Bạn có thể giải quyết vấn đề này bằng cách đảm bảo rằng không có xung đột tên tệp trong thư mục nơi các sổ làm việc đang được lưu.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2230) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: