Могу ли я динамически подсчитать, сколько раз я сбрасывал лист Excel? - PullRequest
0 голосов
/ 02 июля 2019

В настоящее время у меня есть кнопка сброса для листа Excel, которая очищает содержимое, кроме формул, которые у меня есть.Есть ли способ динамически считать, сколько раз я «нажал» кнопку сброса и очистить содержимое?

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Это ..

Public countR As Long
Sub Alternative1() 'This will return to 0 when you close the workbook
    countR = countR + 1
    MsgBox "The document has been cleared " & countR & " time(s)"
End Sub

или ..

Sub Alternative2()
    Dim rng As Range
    Set rng = Range("A1") 'Change to some cell that isn't cleared by your code
    rng.Value = rng.Value + 1
End Sub

и назовите их как ..

Sub WhatYourCodeMaybeLooksLike()
    Range("B1:C100").ClearContents
    Alternative1
    Alternative2
End Sub
0 голосов
/ 02 июля 2019

Комментарий от reportgunner выше верен, но если вы запрашиваете опции VBA, посмотрите на переменные уровня модуля.

Public x As Integer Sub Button1_Click() x = x + 1 MsgBox x End Sub

x будет начинаться с 0 при открытии рабочей книги, а затем будет увеличиваться при каждом нажатии кнопки 1, в этом случае.

Немного различаются статические переменные, которые вы можете объявить в процедуре с помощью кода.Оба будут отлично работать в VBA.

Переменная часто сбрасывается, если ваш код обнаруживает ошибки во время отладки.Так что вариант ячейки может быть предпочтительнее, если вы никогда не хотите потерять номер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...