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 (11929) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.

Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: