Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern nach Makro entfernen

Speichern nach Makro entfernen
15.08.2004 10:25:45
mario
Hallo zusammen
habe ein Problem mit folgenden Makros.
Es funktioniert alles so wie ich will bis auf die
letzten Befehlen.
ActiveWorkbook.save 'Datei sollte gespeichert werden, tut es nicht oder?'
ActiveWorkbook.close 'funktioniert
Offenbar wird die Datei nach dem die Makros entfernt sind
nicht gespeichert.
Wenn ich die zwei letzten Befehle auslasse und die Datei danach von Hand speichere
funktioniert alles so wie ich will.
Beim nächsten öffnen der gespeicherten Mappe wird keine Makrowarnung mehr angezeigt
weil keine Makros mehr vorhanden.
Vielen Dank schon zum Voraus für eure Hilfe.
Gruss Mario

Sub schutz()
Dim t As Integer
Dim i As Integer
Dim sFile As String, sPath As String, sJahr As String
t = ActiveWorkbook.Worksheets.Count
For i = 1 To t
On Error Resume Next
Sheets(i).Unprotect
Sheets(i).Select
Cells.Select
Selection.Locked = True
Sheets(i).Protect
range("A1").Select
Next i
sPath = Application.DefaultFilePath & "\" & " Abteilung 5" & "_"
sFile = Worksheets("Auswertung").range("C1").Value
sFile = Format(CDate(sFile), "yyyymmdd") & ".xls"
sJahr = Worksheets("Daten").range("AF3").Value
ActiveWorkbook.SaveAs sPath & sFile & "_" & sJahr
Startseite
MakrosEntfernen
End Sub


Sub MakrosEntfernen()
Dim CodeObj As Object
If Val(Application.Version) >= 8 Then
With ActiveWorkbook.VBProject
For Each CodeObj In .VBComponents
Select Case CodeObj.Type
Case 1, 2
.VBComponents.Remove CodeObj
Case Else
With CodeObj.CodeModule
If .CountOfLines > 0 Then
.DeleteLines 1, .CountOfLines
End If
End With
End Select
Next
End With
End If
For Each CodeObj In ActiveWorkbook.Names
Select Case CodeObj.MacroType
Case xlFunction, xlCommand
CodeObj.Delete
End Select
Next
'ActiveWorkbook.Save
'ActiveWorkbook.Close
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern nach Makro entfernen
15.08.2004 10:33:09
Frank
Hi Mario
Ursache dafür: Du hast auch das gerade laufende Makro entfernt. Daher kann es dann auch nicht mehr die restlichen Befehle ausführen
Frank
AW: Speichern nach Makro entfernen
15.08.2004 10:33:58
Annett
Hallo Mario
mir ist es schon Logisch, das die Datei nicht mehr gespeichert wird. Du entfernst erst den Code und welcher Code soll da noch speichern?
Gruß Annett
AW: Speichern nach Makro entfernen
15.08.2004 10:49:21
mario
hallo
ist mir eigentlich klar aber wieso wird der Befehl
ActiveWorkbook.close ausgeführt.
Wie soll ich das Problem lösen damit ich zum gewünschten
Resultat komme ?
Gruss Mario
Anzeige
AW: Speichern nach Makro entfernen
15.08.2004 10:52:12
Annett
Hallo Mario
Speichere die Datei unter einem neuen Namen und lösche in dieser den Code.
Gruß Annett
AW: Speichern nach Makro entfernen
15.08.2004 11:24:31
mario
Hallo vielen Dank
habe deinen Tip überprüft.
Er funktioniert bei mir nicht.
Bin für jeden Tip dankbar
Ich bin am verzweifeln.
Gruss Mario
AW: Speichern nach Makro entfernen
15.08.2004 11:26:41
Annett
Hallo Mario
Du sprichts in Deinem Code die Datei mit ActiveWorkbook an. Bei der vorgeschlagnen Variante muß Du die Datei mit Ihrem Namen ansprechen.
Gruß Annett
Anzeige
AW: Speichern nach Makro entfernen
15.08.2004 12:15:55
mario
Hallo
ich kriege es einfach nicht hin.
Kannst du den code bitte abändern?
Vielen Dank.

Sub schutz()
Dim t As Integer
Dim i As Integer
Dim sFile As String, sPath As String, sJahr As String
t = ActiveWorkbook.Worksheets.Count
For i = 1 To t
On Error Resume Next
Sheets(i).Unprotect
Sheets(i).Select
Cells.Select
Selection.Locked = True
Sheets(i).Protect
range("A1").Select
Next i
Startseite
ActiveWorkbook.SaveCopyAs "D:\Eigene Dateien\Temp.xls"   Startseite
MakrosEntfernen
End Sub


Sub MakrosEntfernen()
Dim sFile As String, sPath As String, sJahr As String
Dim CodeObj As Object
If Val(Application.Version) >= 8 Then
With ActiveWorkbook.VBProject
For Each CodeObj In .VBComponents
Select Case CodeObj.Type
Case 1, 2
.VBComponents.Remove CodeObj
Case Else
With CodeObj.CodeModule
If .CountOfLines > 0 Then
.DeleteLines 1, .CountOfLines
End If
End With
End Select
Next
End With
End If
For Each CodeObj In ActiveWorkbook.Names
Select Case CodeObj.MacroType
Case xlFunction, xlCommand
CodeObj.Delete
End Select
Next
sPath = Application.DefaultFilePath & "\" & " Monat" & "_"
sFile = Worksheets("Daten").range("C1").Value
sFile = Format(CDate(sFile), "yyyymmdd") & ".xls"
sJahr = Worksheets("Daten").range("AF3").Value
ActiveWorkbook.SaveAs sPath & sFile & "_" & sJahr
Workbooks("D:\Eigene Dateien\Temp.xls").SaveAs sPath & sFile & "_" & sJahr
ActiveWorkbook.Close
Application.DisplayAlerts = False  'ActiveWorkbook.Close
End Sub

Anzeige
AW: Speichern nach Makro entfernen
15.08.2004 12:26:34
Annett
Hallo Mario
wodurch unterscheidet sich dieser Ansatz von dem ersten. Nur dadurch das Du nach dem Löschen noch mehr Zeilen hast. Du kannst nach dem LÖschen noch Tausend Zeilen einfügen die werden alle nicht abgearbeitet.
Du mußt eine kopie der Datei erst speichern und dann in dieser Kopie den Code löschen und dann die kopie schliessen mit speichern.
Gruß Annett

118 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige