Я хочу создать макрос, который будет работать на каждом листе моего файла Excel. В n-й раз, когда этот макрос используется в m-м листе, макрос записывает что-то в n-ю ячейку m-го листа.
Если бы у меня был только лист, я бы использовал глобальную переменную в своем коде
Dim cellToBeChanged As String
Sub macro()
If cellToBeChanged = "" Then
cellToBeChanged = "A1"
else
cellToBeChanged =Range(cellToBeChanged).Offset(1, 0).Address
end if
‘write what needs to be written in cellToBeChanged
End Sub
Но если у меня более одного листа, этот код не работает.
Например, если я использовал этот макрос в первый раз на вкладке 1, а затем на вкладке 2, а затем в tab 3. В tab1 есть 2 ячейки в a1 и a3 и 1 ячейка в tab2 в a2 вместо 2 ячеек в a1, a2 в tab1 и ячейка в a1 в tab2
Я мог бы различную переменную для каждого лист. Но я, вероятно, создам много листов.
В дополнение к тому, что я называю n-й строкой, возможно, не будет nthLetterOfTHeAlphabet. Я ищу что-то более общее, чтобы сохранить, что в n-м листе макрос использовался mth time
Как мне написать свой макрос, чтобы заставить ее вести себя так, как я хотел бы?