Добавление кода в рабочий лист - VB

Узнай цену своей работы

Формулировка задачи:

Друзья. возник ворос.
в VBA есть возможность програмно создавать код модуля посредством
ThisWorkbook.VBProject.VBComponents("Module2").CodeModule ну и так далее, тоесть , например, добавлять из программы строки в уже имеющийся модуль или создавать новый.
так вот вопрос:
можноли сделать тоже самое только не для модуля, а для рабочего листа? и как?
грубо говоря нужно добавить кучу обработчиков событий а в ручную это делать не хочется, а обработчики, как я понимаю прописываются в листе где они находятся...

Решение задачи: «Добавление кода в рабочий лист»

textual
Листинг программы
<font color="blue">Public</font> <font color="blue">Sub</font> AddProcToWs()
    <font color="blue">Dim</font> wb <font color="blue">As</font> Workbook
    <font color="blue">Dim</font> cm <font color="blue">As</font> CodeModule
    <font color="blue">Dim</font> lngI <font color="blue">As</font> <font color="blue">Long</font>
    
    <font color="blue">Set</font> wb = ThisWorkbook
    <font color="blue">Set</font> cm = wb.VBProject.VBComponents(<font color="teal">"Лист1"</font>).CodeModule
    
    <font color="blue">With</font> cm
        lngI = .CountOfLines + <font color="darkblue"><b>1</b></font>
        .InsertLines lngI, <font color="teal">"Private Sub Worksheet_SelectionChange(ByVal Target As Range)"</font>
        lngI = lngI + <font color="darkblue"><b>1</b></font>
        .InsertLines lngI, <font color="teal">"MsgBox "</font><font color="teal">"Hello!"</font><font color="teal">""</font>
        lngI = lngI + <font color="darkblue"><b>1</b></font>
        .InsertLines lngI, <font color="teal">"End Sub"</font>
    <font color="blue">End</font> <font color="blue">With</font>
    
    <font color="blue">Set</font> cm = <font color="blue">Nothing</font>
    <font color="blue">Set</font> wb = <font color="blue">Nothing</font>
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы