Microsoft Excel

Herbers Excel/VBA-Archiv

makro in arbeitsmappe löschen

Betrifft: makro in arbeitsmappe löschen von: Marcel
Geschrieben am: 17.09.2004 11:49:30

hallo zusammen,

ich habe eine vorlagedatei, die automatisch beim start makros ausführt. soweit klappt das alles... am schluss der automatik geht ein speichern unter feld auf... vorher würde ich aber gerne die makros noch löschen, damit diese nicht in die neue datei auftauchen.

wie mache ich das?
die makros sind alle zusammengefasst in einer großen sub prozedur im objekt "DieseArbeitsmappe"

kann mir da jemand aushelfen?

marcel

  


Betrifft: AW: makro in arbeitsmappe löschen von: Paula
Geschrieben am: 17.09.2004 12:36:11

hi marcel
füge deinem SpeichernMakro folgende Zeilen, noch vor den Speicher- u.
Schliess-Anweisungen

Sub Speichern()
    ...
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    DeleteCode
    Application.ScreenUpdating = True
    ...
    ...
End Sub


Gruss Paula


  


Betrifft: AW: makro in arbeitsmappe löschen von: Paula
Geschrieben am: 17.09.2004 12:55:01

hi Marcel,
S O R R Y hier die Korrektur
füge deinem SpeichernMakro folgende Zeilen, noch vor den Speicher- u.
Schliess-Anweisungen:

Sub Speichern()
    ...
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    With ActiveWorkbook.VBProject _
        .VBComponents(wks.CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
    End With
    Application.ScreenUpdating = True
    ...
    ...
End Sub



Jetzt ist das korrekt

Paula


  


Betrifft: AW: makro in arbeitsmappe löschen von: Marcel
Geschrieben am: 17.09.2004 13:42:03

hallo paula,

hab das mal so eingefügt...

...
...
...

'Schliessen von Excelsheet Daten.xls'
Workbooks("Daten.xls").Activate
ActiveWorkbook.Save
ActiveWorkbook.Close

'Makros löschen aus Vorlage'
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook.VBProject _
.VBComponents(wks.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Application.ScreenUpdating = True

'Speichern unter Feld aktivieren'
Workbooks("Vorlage GFT.xls").Activate
ChDrive "c"
ChDir "c:\gft\rechnungen\gft"
Application.Dialogs(xlDialogSaveAs).Show

End Sub

so kann das noch nicht funktionieren oder?

hoffe du bist noch da...

gruß
danke
marcel


  


Betrifft: AW: makro in arbeitsmappe löschen von: @paula
Geschrieben am: 17.09.2004 13:47:04

hallo paula...

hab dir mal den ganzen code kopiert!

Option Explicit

Private Sub Workbook_open()
'Schritt1: Datum einfügen in Rechnung'
Sheets("Musterrechnung").Select
Cells(17, 3).Value = Date

'Schritt 2: Sortieren nach Rechnungsnummer'
Workbooks.Open Filename:= _
"C:\Dokumente und Einstellungen\m.strassburger\Desktop\Daten.xls"
Range("A3:G65536").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select

'Schritt 3: Nettowert = 0 = Zeile Löschen'
Workbooks("Daten.xls").Activate
Do Until [d3] > 0
Rows(3).Delete
Loop

'Schritt 4: Zeile3 & Rechnungsnr + 1 & RG Jahr einfügen'
Workbooks("Daten.xls").Activate
Rows("3:3").Select
Selection.Insert Shift:=xlDown
Range("A3").Select
ActiveCell.FormulaR1C1 = "='[Vorlage GFT.xls]Musterrechnung'!R17C3"
Range("B3").Select
ActiveCell.FormulaR1C1 = "=R[1]C+1"
Range("B4").Select
Workbooks("Vorlage GFT.xls").Activate
Range("B17").Select
ActiveCell.FormulaR1C1 = "=[Daten.xls]Tabelle1!R3C2"

'Schliessen von Excelsheet Daten.xls'
Workbooks("Daten.xls").Activate
ActiveWorkbook.Save
ActiveWorkbook.Close

'Makros löschen aus Vorlage'
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook.VBProject _
.VBComponents(wks.CodeName).CodeModule   <---------
.DeleteLines 1, .CountOfLines
End With
Application.ScreenUpdating = True

'Speichern unter Feld aktivieren'
Workbooks("Vorlage GFT.xls").Activate
ChDrive "c"
ChDir "c:\gft\rechnungen\gft"
Application.Dialogs(xlDialogSaveAs).Show

End Sub



in der zeile mit dem pfeil bekomm ich die fehlermeldung...

nur mal zur theorie, wenn dein code den code löscht, dann geht ja auch der speichern unter befehl weg bevor er ausgeführt wird, oder? und wenn nicht, dann wird er mit in die datei übernommen die gespiechert wird, oder?

gruß
danke
marcel


  


Betrifft: AW: makro in arbeitsmappe löschen von: Reinhard
Geschrieben am: 17.09.2004 15:35:21

Hi marcel,
wo wird da vorher "wks" definiert bei wks.CodeName?
Wenn wks ein Blattname ist, probiers mal so:
With ActiveWorkbook.VBProject _
    .VBComponents(wks.CodeName).CodeModule.DeleteLines 1, .CountOfLines
End With

Gruß
Reinhard


  


Betrifft: AW: makro in arbeitsmappe löschen von: Paula
Geschrieben am: 17.09.2004 13:04:44

hi Marcel,
hat es jetzt gefunzt?
Sag bescheid

Gruss Paula


 

Beiträge aus den Excel-Beispielen zum Thema "makro in arbeitsmappe löschen"