VBA Работает на листах 2-15, но не на листе 1

#excel #vba

Вопрос:

У меня есть следующий код, связанный с кнопкой на листе 1, и он предназначен для копирования содержимого листа 3 из строки 3 до конца данных. Если я вручную запускаю код, когда мой активный лист находится в другом месте книги, он выполняется правильно и копирует и вставляет около 1200 строк, однако, если я запускаю его с кнопки на листе 1 или вручную, когда лист 1 является моим активным листом, он копирует и вставляет только 30 строк. Есть какие-нибудь догадки, почему?

 Dim LastRow As Long
LastRow = Range("A" amp; Rows.Count).End(xlUp).Row
Sheets("Sheet3").Range("A3:F3" amp; LastRow).Copy
Sheets("Sheet15").Range("I2").PasteSpecial Paste:=xlPasteValues
 

Ответ №1:

Проблема здесь

 LastRow = Range("A" amp; Rows.Count).End(xlUp).Row
 

Макрос получает диапазон активного листа. Вам нужно показать макро, какой диапазон вы имеете в виду, например

 LastRow = Worksheets("Sheet3").Range("A" amp; Rows.Count).End(xlUp).Row