Когда вы начинаете новую книгу, очень часто каждый рабочий лист присваивает имя другому дню месяца. Если вы будете делать это немного, то знаете, что может быть утомительно переименовывать каждый рабочий лист, в свою очередь, именно так, как вам нужно.

Следующий макрос был разработан, чтобы помочь в этих ситуациях. Он проверяет имена рабочих листов в вашей книге, переименовывая их в дни месяца, если они начинаются с букв «Лист». Если в книге недостаточно листов, она добавляет листы по мере необходимости для каждого дня месяца.

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

Макрос устанавливает имя каждой вкладки равным дню недели, за которым следует фактическая дата, как в «Среда, 28 марта 2012 г.». Если вы хотите изменить способ именования вкладок для каждого дня, просто измените способ создания переменной sDay в макросе.

Последний шаг в макросе — это размещение листов в правильном порядке в зависимости от дней месяца. В результате, если у вас остались какие-либо другие листы в книге (другими словами, у вас были какие-то листы, которые не начинались с букв «Лист», то эти листы оказываются в конце книги, после листов для каждого день.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2836) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и позже) здесь:

link: / excelribbon-Sheets_for_Days [Sheets for Days].