Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

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


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
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 :-?
AW: Na und! ThisWorkbook verweist...
12.05.2009 13:59:22
Stefan
Kapiert !!
DANKE !!!!!!!!!!!!!
Bitte!!! Gruß owT
12.05.2009 14:02:06
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige