Microsoft Excel

Herbers Excel/VBA-Archiv

Sheet als neue Datei ohne Makros, Laufzeitfehler 9 | Herbers Excel-Forum


Betrifft: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: onkelbobby
Geschrieben am: 01.08.2012 11:16:58

Hi,

ich habe eine Datei aus der ich ein Sheet in eine neue Datei speichern möchte, jedoch ohne Makros.

Hier mein Code:

Sub AEinfügen()

If Len(Dir("C:\ZB Liste Excel", vbDirectory)) = 0 Then
        MkDir "C:\ZB Liste Excel"
  End If

ActiveSheet.Copy
ActiveWorkbook.SaveAs "C:\ZB Liste Excel\" & Range("B1") & " " & Range("C1") & ".xls"


Dim shpX As Excel.Shape

For Each shpX In ActiveWorkbook.Sheets("Laufliste").Shapes
    shpX.Delete
Next

Set VB = Application.VBE.ActiveVBProject
            For Each Objekt In ThisWorkbook.VBProject.vbComponents
            If Objekt.Type = 1 Then VB.vbComponents.Remove _
            VB.vbComponents(Objekt.name)
            Next Objekt

Application.DisplayAlerts = False
ActiveWorkbook.Close
ActiveWorkbook.Save
Application.DisplayAlerts = True

End Sub

Es kommt ein Laufzeitfehler 9. Beim Debuggen springt er auf diesen Textteil:
VB.vbComponents.Remove _
VB.vbComponents(Objekt.name)

Was muss ich ändern?

Danke!

  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: Rudi Maintaire
Geschrieben am: 01.08.2012 11:47:56

Hallo,
For Each Objekt In ThisWorkbook.VBProject.vbComponents
das ist das Projekt, in dem dein Code läuft!

Blatt ohne Makros kopieren etwa so:

Sub CopySheet()
   Dim wks As Worksheet
   Worksheets("Tabelle1").Copy
   Set wks = ActiveSheet
   With ActiveWorkbook.VBProject _
      .VBComponents(wks.CodeName).CodeModule
      .DeleteLines 1, .CountOfLines
   End With
End Sub

Gruß
Rudi


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: onkelbobby
Geschrieben am: 01.08.2012 11:55:58

Hi Rudi,

das hatte ich schon so. Die in Tabelle 1 stehenden Codes werden auch gelöscht. Jedoch kommt beim Öffnen nach wie vor die Abfrage ob Makros aktiviert werden sollen (Office XP), obwohl nirgends was zu finden ist.

Außerdem können die Kollegen (Excel 2010) die Datei nicht öffnen. Es kommt die Fehlermeldung: Die folgenden Features können in Arbeitsmappen ohne Makros nicht gespeichert werden: - VB Projekt ...

Ich will einfach das vorhandene Sheet (ohne Makros) als neue Datei speichern, sodass auch Leute mit neueren Versionen darauf zugreifen können. Ich hatte das zunächst mit Copy-Paste probiert, jedoch fehlen mir da einige Einstellungen bzgl. Seitenränder, Zeilenhöhe usw. (siehe anderen Post).

Danke,

Robert


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: Matze,Matthias
Geschrieben am: 01.08.2012 11:59:22

Hallo,
beim öffnen der Mappe in Excel 2010 kommt die Meldung?
Nicht beim schließen ????


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: onkelbobby
Geschrieben am: 01.08.2012 12:03:15

Ja,

ich kann sie mit meinem Excel ohne weiteres öffnen. Beim Kollegen kommt die Meldung beim Öffnen!


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: Matze,Matthias
Geschrieben am: 01.08.2012 12:15:05

Hallo,
das ist schon merkwürdig und du hast defenitiv alle Makros gelöscht, im VBA-Editor DieseArbeitemappe
oder auch in Jeder Tabelle geschaut ob diese keine Makros enthalten? Immer doppelklick auf die jeweilige Auswahl,sonst zeigt er dir den letzten Stand an.
Alle Module entfernt ?


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: onkelbobby
Geschrieben am: 01.08.2012 12:31:12

Ja, ich kanns ja auch nicht verstehen.

Ich habe jetzt mal folgendes probiert:

Ich habe die Datei mit meiner (alten) Excel-Version mit "Makros aktivieren" geöffnet. Ohne etwas zu ändern, habe ich die gleiche Datei einfach noch mal gespeichert.

Jetzt kommt die Abfrage nach Makros aktivieren gar nicht mehr.

Müsste mal dem Kollegen die Datei schicken, ob er sie jetzt öffnen kann.

Irgendeine Idee, was dahinter steckt?


  

Betrifft: AW: Sheet als neue Datei ohne Makros, Laufzeitfehler 9 von: onkelbobby
Geschrieben am: 01.08.2012 13:43:40

Hat sich erledigt,

ich habe das gewünschte Sheet jetzt einfach per Copy- und Paste in eine neue Datei übertragen und mir die Formatierungen bzgl. Seitenränder, Zeilenhöhe usw. einfach per Makrorecorder eingetragen.

DAnke!


Beiträge aus den Excel-Beispielen zum Thema "Sheet als neue Datei ohne Makros, Laufzeitfehler 9"