Подсчет времени использования рабочего листа (Microsoft Excel)
Возможно, вам понадобится способ отслеживать, сколько раз используется конкретный рабочий лист. Есть много способов добиться этого. Один простой способ — просто сохранить счетчик на самом листе.
Щелкните правой кнопкой мыши вкладку рабочего листа, затем выберите «Просмотреть код» в контекстном меню. Excel отобразит редактор Visual Basic, в который следует вставить следующий код:
Private Sub Worksheet_Activate() Range("A1").Select 'customize Range ActiveCell = ActiveCell + 1 Range("B1") = "times opened" 'customize Range End Sub
Этот код увеличивает значение в ячейке A1 каждый раз, когда лист активируется. Вы можете изменить расположение ячеек, в которые макрос записывает свою информацию, в соответствии с вашими потребностями.
Более тщательный подход — создать макрос, увеличивающий именованные ссылки в книге. Рассмотрим следующий макрос:
Function IncrementEventCounter(sName As String, sht As Object) On Error Resume Next If sht.Names(sName) Is Nothing Then _ ThisWorkbook.Names.Add "'" & sht.Name & "'!" & sName, "1", False On Error GoTo 0 With ThisWorkbook.Names("'" & sht.Name & "'!" & sName) .RefersTo = Val(Mid(.Value, 2)) + 1 End With End Function
Эта функция предназначена для вызова из другого макроса, который запускается событием, которое должно вызвать увеличение счетчика использования.
Например, если вы хотите отслеживать каждый раз, когда рабочий лист активируется, вы должны использовать следующий макрос как часть объекта ThisWorkbook:
Private Sub Workbook_SheetActivate(ByVal sh As Object) IncrementEventCounter "Activated", sh End Sub
Макрос увеличивает счетчик с именем «Активировано» для рабочего листа. Он делает это, вызывая макрос IncrementEventCounter с именем счетчика и именем рабочего листа. Если вместо этого вы хотите подсчитать количество изменений рабочего листа, вы можете использовать следующий макрос как часть объекта ThisWorkbook:
Private Sub Workbook_SheetChange(ByVal sh As Object, _ ByVal Target As Excel.Range) IncrementEventCounter "Changed", sh End Sub
Единственная разница между этим макросом и предыдущим состоит в том, что он увеличивает счетчик с именем «Изменено». Чтобы увидеть значения счетчиков, просто введите формулу в ячейку, которая ссылается на счетчик. Например, вы можете ввести = Изменено, чтобы увидеть значение счетчика Изменено, или = Активировано, чтобы увидеть значение счетчика Активировано. Значение каждого счетчика будет отличаться от листа к листу, так как счетчики ведутся по листам.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2497) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Counting_the_Times_a_Worksheet_is_Used [Подсчет времени использования рабочего листа]
.