Как адаптировать этот код, когда в файле Excel есть несколько листов - PullRequest
0 голосов
/ 30 января 2020

Я хочу создать макрос, который будет работать на каждом листе моего файла 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

Как мне написать свой макрос, чтобы заставить ее вести себя так, как я хотел бы?

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