Для каждого Range()
, Cells()
, Rows()
и Columns()
объекта укажите, на каком листе они находятся. Не пропустите ни одного из них, иначе ваш код может случайно произойти.
Пример
Worksheets("Sheet1").Range("A1") 'addresses cell A1 in Sheet1
Вы можете использовать переменные в качестве ссылок:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Range("A1") 'now also addresses cell A1 in Sheet1
, а
Range("A1")
будет обращаться к листу, который имеет фокус (находится сверху), пока выполняется код. Не надейтесь на это, потому что это может легко измениться одним щелчком мыши пользователя. Поэтому всегда указывайте, какой лист вы имеете в виду.