2016-08-18 2 views
2

Мне нужно count каждый раз, когда я запускаю макрос. В настоящее время, это то, что я делаю:Как подсчитать, сколько раз вы запускаете макрос

Public i As Integer 

Sub Macro5() 

i = i + 1 

Cells(5, 5).Select 
ActiveCell.FormulaR1C1 = "=" & i // printing the i in 5,5 cell 

End Sub 

Но каждый раз, когда я снова запустить Macro5, то я устанавливает в 1 (0 в первом, но с добавлением 1 к нему, что делает его 1).
Любая идея, как я могу считать это? Благодаря!

+1

вместо i = i +1 вы можете получить значение в ячейке и добавить 1. Что-то вроде этого i = Ячейки (5, 5) .Value + 1 (не уверен, что это правильный синтаксис, но я думаю, что вы получаете point) –

+0

@Dave, что сказал Эрик, сделает трюк, который вы ищете – Siva

+0

@ErikBlomgren Он остается 2 все время ... :(Я сделал [ActiveCell.FormulaR1C1 = "=" & (i + 1)], но каждый раз i снова становится 0, поэтому он остается 2 ... Любая другая идея? – Dave

ответ

1

Ваш код будет работать нормально при условии, вы объявляете глобальную переменную i вне подпрограммой и на верхней части модуля кода.

0

На основе вашего кода это будет правильным.

Sub Macro5() 

Cells(5, 5).Select 
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + 1 

End Sub 
+0

Для ячейки E5 вам потребуется некоторое количество номеров. –

+0

Спасибо :) Хотя мне нужен i var для использования в другой функции. Еще раз спасибо! – Dave

Смежные вопросы