Как можно написать код, чтоб стирать определенные коды макросов (VBA) с определенного листа книги? Заранее очень благодарен!
Чистка Кодов. VBA
25.06.2008 13:13:24
|
|
|
|
25.06.2008 13:15:16
application.vbe....
|
|
|
|
25.06.2008 13:37:06
Че-то не понял!
|
|
|
|
25.06.2008 13:45:33
Нет, не удалять весь модуль, а удалять определенные коды макросов с Листа где они написаны. Я думаю нам надо сперва выбрать по имени некоторые только коды и затем удалить с листа.
|
|
|
|
25.06.2008 13:58:50
Я не знаю, как удалить отдельный макрос в модуле. Если узнаете - сообщите.
Вот вам интересная ссылка |
|
|
|
25.06.2008 14:09:35
Спасибо,
я посметрел ссылку там сложнее, строки удаляет. наверно будет проше удалять макросы по имени? А как удалить просто определенные макросы? |
|
|
|
25.06.2008 15:32:01
Вот нашёл
Source: Sub DeleteProcedure() Dim iProcedure As String Dim iVBComponent As Object Dim iStartLine As Long Dim iCountLines As Long Dim Killed As Boolean iProcedure = InputBox(Prompt:="Введите имя макроса," & _ vbCrLf & "который требуется удалить", Title:="Удаление макроса") If iProcedure$ = "" Then _ MsgBox "Вы не указали имя ненужного макроса", 48, "Ошибка": Exit Sub For Each iVBComponent In ActiveWorkbook.VBProject.VBComponents With iVBComponent.CodeModule If .Find("Sub " & _ iProcedure$, 1, 1, .CountOfLines, 1) = True Then iStartLine& = .ProcStartLine(iProcedure$, 0) iCountLines& = .ProcCountLines(iProcedure$, 0) .DeleteLines iStartLine&, iCountLines& Killed = True Exit For End If End With Next If Killed = True Then MsgBox "Макрос " & iProcedure$ & " удалён!", 64, "Удаление макроса" Else MsgBox "Макрос " & iProcedure$ & " не найден!", 48, "Удаление макроса" End If End Sub |
|
|
|
26.06.2008 09:50:52
Спасибо, а если перенести код в модуль ЭтаКнига?
Нужно, чтобы в модулях Лист1, Лист2 и т.д. не было кода.. |
|
|
|
02.12.2008 19:27:26
|
||||
|
|
|||
Читают тему