Таблицы на дни (Microsoft Excel)
Когда вы начинаете новую книгу, очень часто каждый рабочий лист присваивает имя другому дню месяца. Если вы будете делать это немного, то знаете, что может быть утомительно переименовывать каждый рабочий лист, в свою очередь, именно так, как вам нужно.
Следующий макрос был разработан, чтобы помочь в этих ситуациях. Он проверяет имена рабочих листов в вашей книге, переименовывая их в дни месяца, если они начинаются с букв «Лист». Если в книге недостаточно листов, она добавляет листы по мере необходимости для каждого дня месяца.
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]
.