AW: Gleiche Teile mehrerer Makros löschen
18.11.2005 14:48:13
Heiko
Hallo ?,
auch wieder mit einem Makro, WENN es immer die selben Zeilennummer sind.
Sub VBAZeilenloeschen()
Dim vbc As Object
' Man ActiveWorkbook natürlich auch durch Workbooks("Mappe1") ersetzen, diese Mappe muss
' dann nur geöffnet sein !!!
With ActiveWorkbook.VBProject
' Ein Schleife die ALLE VBComponents durchläuft, nur Modul1 wird ausgelassen.
' Wenn auch Modul1 mit bearbeitet (gelöscht werden soll) dann die If Abfrage raus.
For Each vbc In .VBComponents
MsgBox vbc.Name
If vbc.Name <> "Modul1" Then
With .VBComponents(vbc.Name).CodeModule
If .CountOfLines > 5 Then
' Zeilen 1 bis 5 löschen
.DeleteLines 1, 5
' Zeilen 5 bis 9 löschen
' .DeleteLines 5, 4
End If
End With
End If
Next vbc
End With
Exit Sub
' Bei Fehlernummer 1004, diese Meldung ausgeben.
Errorhandler:
If Err.Number = 1004 Then
MsgBox "Das Löschen des VBA Codes ist fehlgeschlagen!" & vbCr & _
"Bitte überprüfen Sie folgende Einstellung! " & vbCr & _
"EXTRAS -> MAKRO -> SICHERHEIT -> Vertrauenwürdige Quellen." & vbCr & _
"'Zugriff auf Visual Basic Projekt vertrauen' muss aktiviert sein! ", vbCritical, _
" Meldung vom Makro VBAZeilenloeschen"
Else
MsgBox "Err.Number = " & Err.Number & ". " & Err.Description, vbCritical
End If
End Sub
Gruß Heiko
PS: Rückmeldung wäre nett !