Джо намагається загадати помилку в новому макросі, який він щойно написав.
Рядок, який присвоює NextRow, повертає помилку з написом "Змінна об'єкта або з блочною змінною не встановлена".
Змінні об’єкта досить круті. У старих підказках, я б використовував звичайну змінну, подібну до цієї:
OrigName = ActiveSheet.Name Worksheets(OrigName).Copy
Є кращий спосіб. Ви можете визначити змінною будь-який об’єкт, наприклад робочий аркуш. У цьому є кілька переваг. Використовувати змінну об’єкта замість робочих аркушів (OrigName) коротше. Крім того, коли ви вводите код, VBA буде знати, що змінна є робочим аркушем, і запропонує відповідні властивості та методи після введення крапки. Ось новий код:
Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy
Трюк, однак, полягає в тому, що коли у вас є об’єктна змінна, вона повинна бути призначена ключовим словом Set. Якщо вам не вдається ввести Set в код, ви отримаєте дещо неінтуїтивну "Object Variable or With Block Variable Not Set". Джо просто повинен передувати призначенню змінної словом Set.