Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gleiche Teile mehrerer Makros löschen

Gleiche Teile mehrerer Makros löschen
18.11.2005 09:57:11
CPFT
Hallo zusammen,
wer kann mir sagen, wie ich am schnellsten einen bestimmten Block in verschiedenen Makros löschen kann?
Beispiel:
Ich habe ca. 80 (beinahe identische) Makros in denen jeweils 5 Zeilen gelöscht werden sollen, mit ERSETZEN komme ich nicht weiter, da einige der Zeilen auch an anderer Stelle der Makros auftauchen und diese dann auch ersetzt würden.
Gruß und Dank für eure Mühen.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleiche Teile mehrerer Makros löschen
18.11.2005 13:30:35
tubias
Hallo
exportiere die Makros, bearbeite sie mit einem Editor in dem du Suchmuster definieren kannst (z.B. WinVi) und importiere die modifizierten Makros anschließen wieder.
Allerdings ist es sehr fraglich ob so viele änliche Makros nötig sind. Man sollte besser einen ordentlichen Algorithmus finden oder das ganze in eine Klasse packen.
mfg tobias
*** http://www.tubias.de ***
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 !
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige