Жан-Луи хотел бы написать процедуру VBA, которая удаляет код, прикрепленный к определенному листу. Он знает, как удалять процедуры, хранящиеся в модулях, но не знает, как это делать, когда они хранятся на листе.

Хорошая новость заключается в том, что если вы знаете, как удалять макросы в модуле, вы можете применить тот же метод, чтобы удалить его на листе. Разница в том, что вы будете использовать имя листа, а не имя модуля, когда будете ссылаться на компонент, который хотите удалить.

Например, если вы ссылаетесь на код в модуле в книге, вы обычно делаете это, ссылаясь на содержащий модуль следующим образом:

ActiveWorkbook.VBProject.VBComponents("Module1")

Чтобы обратиться к коду, содержащемуся на листе, вы должны вместо этого использовать следующий синтаксис:

ActiveWorkbook.VBProject.VBComponents("Sheet1")

Другие идеи о том, как ссылаться на код VBA различными способами из других макросов, можно найти на следующей странице сайта Чипа Пирсона:

http://www.cpearson.com/excel/vbe.aspx

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3274) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Deleting_Worksheet_Code_in_a_Macro [Удаление кода рабочего листа в макросе].