Посилання на робочий лист із змінною об’єкта - Поради Excel

Зміст

Джо намагається загадати помилку в новому макросі, який він щойно написав.

Рядок, який присвоює 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.

Цікаві статті...