2013-02-26 3 views
4

Мне нужна помощь Относительно VBA. В моем коде я добавляю лист excel и переименовываю его и добавляю в него список проверки. Мне нужно запустить некоторый код при изменении значения в этом списке проверки. И это должно выполняться только при изменении этой конкретной ячейки. Если я не знаю, пожалуйста, дайте мне знать. Пожалуйста, помогите мне решить это.Добавление кода в новый лист excel динамически

Спасибо и наилучшие пожелания Вамши ..

+2

Начните здесь, если вы хотите динамически добавить код на листе: http://www.cpearson.com/excel/vbe.aspx –

+0

hi @Tim Williams. Для этого мне нужно добавить код к конкретному листу. Здесь я столкнулся с другой проблемой. Я могу добавить код, указав индекс листа. И поскольку я переименовываю лист, а индекс и позиция листа всегда не совпадают, как я могу это сделать. Есть ли способ получить индекс листа. Некоторые функции и т. Д., ??? – krishna

+0

Можете ли вы уточнить свой вопрос? После добавления и переименования листа (скопированного?), Что именно нужно добавить к этому листу? Зачем? –

ответ

6

Вместо того, чтобы пытаться создать индивидуальный код для каждого нового листа с Visual Basic расширяемостью (см this link для дальнейшего чтения), просто использовать Workbook широкого событие Workbook_SheetChange (вам нужно для его размещения в модуле ThisWorkbook).

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

0

вы можете использовать событие SelectionChange Event и Change или также возможно использовать событие Thisworkbook. SheetChange или SheetSelectionChange.