Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Count

Forumthread: Count

Count
12.05.2009 12:01:54
Stefan
Hi,
kann mir jemand sagen warum das Makro bereits bei
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
aussteigt?
Gruß,
Stefan
Option Explicit

Sub Alles_löschen()
Call Lösche_Module
Call Lösche_Userformen
Call Lösche_Ereignisprozeduren
End Sub



Sub Lösche_Module()
Rem Löscht Module:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 1 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove _
ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub



Sub Lösche_Userformen()
Rem Löscht Userforms:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 3 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove _
ThisWorkbook.VBProject.vbComponents(n)
End If
Next
End Sub



Sub Lösche_Ereignisprozeduren()
Rem Löscht Ereignisprozeduren:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
If ThisWorkbook.VBProject.vbComponents(n).Type  1 And _
ThisWorkbook.VBProject.vbComponents(n).Type  3 Then _
ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
Next
Next
End Sub


Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Count
12.05.2009 12:21:51
Hajo_Zi
Halo Stefan,
das sieht mir so aus as ob Du den Code per VBA ändern willst?
Den Zugriff auf das VBA Projekt hast Du schon erlaubt?

AW: Count
12.05.2009 12:42:51
Stefan
Genau,
ich möchte per VBA den Code einer anderen Datei löschen.
Berechtigung? Wie mach ich das?
Gruß,
Stefan
Anzeige
AW: Count
12.05.2009 12:51:25
Hajo_Zi
Hallo Stefan,
hast Du Dir nicht ein wenig viel vrgenommen. Das geht ganz schom auf die Sicherheit. Man sollte diese Einstellung wieder zurückstellen.
Extra, Makro, Sicherheit und dort 2 Registerkarte den Zugfriff zulassen.
Gruß Hajo
Anzeige
AW: Count
12.05.2009 13:31:40
Stefan
Das Makro läuft nin schon mal. Allerdings löscht es die Markros in der Ausgangsdatei und nicht in den Zieldateien.
Fehlersuche?

Sub GehtLoescheVerknuepfung()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ChDrive "C"
ChDir "C:\temp\Testdateien\"  'Verzeichnis
Dim fs As FileSearch
Dim iCounter As Integer
Dim i As Integer
Set fs = Application.FileSearch
root = ActiveWorkbook.Name
With fs
.FileType = msoFileTypeExcelWorkbooks
.LookIn = CurDir
.Execute
For iCounter = 1 To .FoundFiles.Count
SendKeys "{Enter}", Wait:=True
Workbooks.Open .FoundFiles(iCounter), False
SendKeys "{Enter}", Wait:=True
Application.DisplayAlerts = False
Call Alles_löschen
ActiveWorkbook.Save
ActiveWindow.Close
Next iCounter
End With
Application.DisplayAlerts = True
End Sub



Sub Alles_löschen()
Call Lösche_Module
Call Lösche_Userformen
Call Lösche_Ereignisprozeduren
End Sub



Sub Lösche_Module()
'Löscht Module:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 1 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject. _
vbComponents(n)
End If
Next
End Sub



Sub Lösche_Userformen()
'Löscht Userforms:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
If ThisWorkbook.VBProject.vbComponents(n).Type = 3 Then
ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject. _
vbComponents(n)
End If
Next
End Sub



Sub Lösche_Ereignisprozeduren()
'Löscht Ereignisprozeduren:
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
If ThisWorkbook.VBProject.vbComponents(n).Type  1 And ThisWorkbook.VBProject. _
vbComponents(n).Type  3 Then _
ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
Next
Next
End Sub


Anzeige
...Genau das hat Hajo gemeint,...
12.05.2009 13:43:14
Luc:-?
...Stefan!!!
Was meinst du wohl, was ThisWorkbook auf deutsch heißt? Denk mal drüber nach...!
Gruß Luc :-?
AW: ...Genau das hat Hajo gemeint,...
12.05.2009 13:46:31
Stefan
Das ist schon klar, aber bin ich zu diesem Zeitpunkt nicht in der Zieldatei?!
Na und! ThisWorkbook verweist...
12.05.2009 13:57:02
Luc:-?
...immer auf das Workbook des aktiven Makros, ActiveWorkbook immer auf das gerade aktive Workbook, d.h., auf das, in dem gerade etwas ausgeführt wird...
Es ist ein Kardinalfehler, ThisWorkbook synonym zu ActiveWorkbook zu verwenden...
Capito?!
Luc :-?
Anzeige
AW: Na und! ThisWorkbook verweist...
12.05.2009 13:59:22
Stefan
Kapiert !!
DANKE !!!!!!!!!!!!!
Bitte!!! Gruß owT
12.05.2009 14:02:06
Luc:-?
:-?
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige