Trang tính trong ngày (Microsoft Excel)
Khi bạn bắt đầu một sổ làm việc mới, rất phổ biến là đặt tên cho mỗi trang tính sau một ngày khác nhau trong tháng. Nếu bạn làm điều này khá nhiều, bạn biết có thể hơi mệt mỏi khi đổi tên từng trang tính, riêng lẻ, thành chính xác những gì bạn cần.
Macro sau đây đã được phát triển để trợ giúp trong những trường hợp này. Nó kiểm tra tên của các trang tính trong sổ làm việc của bạn, đổi tên chúng thành các ngày trong tháng nếu chúng bắt đầu bằng các chữ cái “Trang tính”. Nếu không có đủ trang tính trong sổ làm việc, nó sẽ thêm các trang tính, nếu cần, cho mỗi ngày trong tháng.
Sub DoDays() Dim J As Integer Dim K As Integer Dim sDay As String Dim sTemp As String Dim iTarget As Integer Dim dBasis As Date iTarget = 13 While (iTarget < 1) Or (iTarget > 12) iTarget = Val(InputBox("Numeric month?")) If iTarget = 0 Then Exit Sub Wend Application.ScreenUpdating = False sTemp = Str(iTarget) & "/1/" & Year(Now()) dBasis = CDate(sTemp) For J = 1 To 31 sDay = Format((dBasis + J - 1), "dddd mm-dd-yyyy") If Month(dBasis + J - 1) = iTarget Then If J <= Sheets.Count Then If Left(Sheets(J).Name, 5) = "Sheet" Then Sheets(J).Name = sDay Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = sDay End If Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = sDay End If End If Next J For J = 1 To (Sheets.Count - 1) For K = J + 1 To Sheets.Count If Right(Sheets(J).Name, 10) > _ Right(Sheets(K).Name, 10) Then Sheets(K).Move Before:=Sheets(J) End If Next K Next J Sheets(1).Activate Application.ScreenUpdating = True End Sub
Lưu ý rằng macro giả định rằng tháng mà bạn muốn trang tính là năm hiện tại. Nếu không phải như vậy, bạn sẽ cần thực hiện một thay đổi nhỏ. Lưu ý dòng sau gần đầu macro:
sTemp = Str(iTarget) & "/1/" & Year(Now())
Giả sử rằng bạn thực sự muốn tháng này là năm 2015 vì một số lý do. Chỉ cần thay đổi dòng thành sau:
sTemp = Str(iTarget) & "/1/2015"
Macro đặt mỗi tên tab bằng ngày trong tuần, sau đó là ngày thực tế, như trong “Thứ Tư, ngày 28 tháng 3 năm 2020”. Nếu bạn muốn thay đổi cách đặt tên các tab cho mỗi ngày, chỉ cần thay đổi cách biến sDay được tạo trong macro.
Bước cuối cùng trong macro là nó đặt các trang tính theo thứ tự thích hợp, dựa trên các ngày trong tháng. Kết quả là nếu bạn còn lại bất kỳ trang tính nào khác trong sổ làm việc (nói cách khác, bạn có một số trang tính không bắt đầu bằng các chữ cái “Trang tính”, thì các trang tính đó sẽ kết thúc ở cuối sổ làm việc, sau các trang tính cho mỗi ngày.
_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 is your nguồn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (11523) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho phiên bản cũ hơn giao diện menu của Excel tại đây: