Tạo và đặt tên trang tính bằng Macro (Microsoft Excel)
Jeff muốn tạo một bản sao của trang tính “chính” của mình, nhắc tên của trang tính mới và di chuyển nó vào cuối các tab trang tính, tất cả đều từ trong macro. Anh ta đã cố gắng ghi lại một macro để thực hiện việc này, nhưng nó không hoạt động.
Thực tế là macro được ghi lại không hoạt động không có gì đáng ngạc nhiên.
Khi bạn ghi macro, bạn yêu cầu Excel ghi lại các bước bạn thực hiện.
Các bước đó (trong trường hợp này) bao gồm việc đặt tên cho trang tính, vì vậy tên đó đã được ghi lại trong macro. Cố gắng chạy macro lần thứ hai và bạn sẽ gặp lỗi vì trang tính bạn đang cố gắng tạo ở lần vượt qua thứ hai đã được tạo ở lần đầu tiên.
Trong trường hợp này, bạn phải viết macro theo cách thủ công. Bạn có thể bắt đầu với việc ghi lại quá trình và bạn sẽ nhận được một đoạn mã như sau:
Sub Macro1() Sheets("Master").Select Sheets("Master").Copy After:=Sheets(3) Sheets("Master (2)").Select Sheets("Master (2)").Name = "NewMaster" End Sub
Lưu ý rằng mã đặt trang tính (sau trang tính thứ ba) và sau đó luôn đặt tên nó giống nhau. Có rất nhiều thứ để thay đổi ở đây. Những gì bạn muốn làm là thay đổi nó thành một cái gì đó như sau:
Sub CopyRename() Dim sName As String Dim wks As Worksheet Worksheets("Master").Copy after:=Sheets(Worksheets.Count) Set wks = ActiveSheet Do While sName <> wks.Name sName = Application.InputBox _ (Prompt:="Enter new worksheet name") On Error Resume Next wks.Name = sName On Error GoTo 0 Loop Set wks = Nothing End Sub
Macro này sẽ sao chép trang tính có tên “Master” vào cuối danh sách trang tính (bất kể bạn có bao nhiêu trang tính trong sổ làm việc) và tiếp tục nhắc nhập tên trang tính mới cho đến khi nhập tên hợp lệ.
_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 (3898) á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: