Средства разработки приложений

         

Удаление листов в зависимости от даты


Q: Как удалить рабочие листы листов в зависимости от даты?

A: Вот код функции на Excel VBA, который решает данную проблему:

' Function DelSheetByDate
' Удаляет рабочий лист sSheetName в активной рабочей книге,
' если дата dDelDate уже наступила
' В случае успеха возвращает True, иначе - False

Public Function DelSheetByDate(sSheetName As String, _
 dDelDate As Date) As Boolean
On Error GoTo errHandle

  DelSheetByDate = False
  ' Проверка даты
  If dDelDate <= Date Then
   ' Не выводить подтверждение на удаление
   Application.DisplayAlerts = False
   ActiveWorkbook.Worksheets(sSheetName).Delete
   DelSheetByDate = True
   Application.DisplayAlerts = True
 End If
 
Exit Function
errHandle:
  MsgBox Err.Description, vbCritical, "Ошибка №" & Err.Number
End Function

Содержание раздела