Anzeige
Archiv - Navigation
1032to1036
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

Codemodule löschen -> Sicherheitshinweis bleibt

Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 13:45:16
Bertram
Hallo zusammen,
ich weiß, das Problem wurde schon öfter behandelt. Habe auch schon auf ähnliche Fragen geantwortet, aber mein genaues Problem werde ich nicht los und mit meinen Suchbegriffen finde ich im Archiv leider nicht das Gewünschte.
Mit folgendem Code kopiere ich ein Tabellenblatt, mache aus Formeln Werte, lösche den vorhandenen Command-Button und den dazugehörigen Code und speichere die neue Datei.

With Sheets("Spezifikation")
.Activate
.Copy
End With
With ActiveWorkbook
With ActiveSheet.UsedRange
.Copy
.PasteSpecial (xlPasteValues)
End With
'Button und Code löschen
ActiveSheet.Shapes("CommandButton1").Delete
With .VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
.SaveAs Filename:=strPfadSpecUser & Sheets("Spezifikation").Range("SpecNr").Value & ".xls"
.Close
End With


Soweit so gut, aber wenn ich die neue Datei öffne kommt der Sicherheitshinweis von wegen Makros und so. Speichere ich die Datei erneut, OHNE irgendwelche sonstige Aktionen, kommt der Hinweis beim nächsten Öffnen nicht mehr.
Kann mir jemand erklären woran das liegt, bzw. wie ich das hinkriege, dass es beim ersten Speichern schon funktioniert?
Danke und Gruß
Bertram

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 13:53:00
Beate
Hallo Bertram,
Guckst Du: Makrowarnung ohne Makros
Gruß,
Beate
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:03:00
Bertram
Hallo Beate,
danke für den Link, aber ich habe keine leeren "Codecontainer" mehr, die ich löschen könnte. Das wär ja auch zu einfach:-)
Gruß
Bertram
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 13:59:57
Daniel
Hi
warum legst du nicht einfach ne neue Datei an und kopierst dann Werte und Formate?
dann tritt das Problem mit Button- und Codelöschen doch gar nicht erst auf und schneller ist es auf jeden fall auch.
einziger Nachteil wäre halt, daß die Druckeinstellungen so nicht übernommen werden und diese neu gesetzt werden müssten.
Gruß, Daniel
Anzeige
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:07:01
Bertram
Hallo Daniel,
danke für den Vorschlag, aber genau das ist das 'Problem'. Ich wollte vermeiden, sämtliche Formate zu übertragen. Vor allem die Spaltenbreiten und Zeilenhöhen. Das dünkt mich mehr Aufwand zu sein, als Code und Button löschen.
Gruß
Bertram
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:10:00
yusuf
Hi,
kannst du die Datei mal hochladen, dass man selber rumprobieren kann?
Daten muss es ja nicht enthalten, nur das Makro.
Gruß
Yusuf
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:28:13
Bertram
Hallo Yusuf,
sorry, hat etwas gedauert, den überflüssigen Rest zu löschen bzw. zu ändern.
https://www.herber.de/bbs/user/57812.xls
Gruß
Bertram
Anzeige
AW: Codemodule löschen -> Sicherheitshinweis bleibt
23.12.2008 13:00:11
firmus
Hi Bertram,
ich machte 3 Tests:
1) Remove Module1
Speichern
Ergebnis: immer noch die Makro-Meldung
2) View Code (in Tabelle1), weil Modul und Objects existieren ja keine mehr.
in Tabelle1(Specification) war dieser Code enthalten.

Private Sub CommandButton1_Click()
RR_MatNr Application.UserName
End Sub


-Kaum entfernt mit "View Code", markieren und den markierten Text löschen.
-Speichern
-Close excel
3) Öffne die xls-mappe (damit wird excel wieder neu gestartet)
Makro-Hinweis erscheint nicht mehr.
Schöne Weihnachten und einen Guten Rutsch,
wünscht Dir - und allen anderen Excel-Freaks
Firmus

Anzeige
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:23:00
Daniel
Hi
wenn du den ganzen Zellbereich kopierst und nicht nur einen Ausschnitt, werden beim Formatkopieren auch Spaltenbreiten und Zeilenhöhen kopiert:
Workbooks.Add
Thisworkbook.Sheets(1).Cells.Copy
ActiveSheet.Cells.Pastespecial xlPasteFormats
ActiveSheet.Cells.PasteSpecial xlPasteValues
Sollte eigentlich alles Relevante übertragen außer den Druck- und Seiteneinstellungen, aber das sollte nicht allzuviel Aufwand sein, da die relevanten Eckdaten zu setzen.
Gruß, Daniel
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:41:00
Bertram
Hallo,
habe es gerade ausprobiert. Das ist prinzipiell sehr gut, ich kam gar nicht auf die Idee das so zu machen. Funktioniert eigentlich super.
ABER leider habe ich in dem entsprechenden Blatt verbundene Zellen und da bringt er ne Fehlermeldung. Ich kann die Zellen auch nicht trennen und den Inhalt über den Bereich zentrieren, da eine Gültigkeit hinterlegt ist, die soviel Platz braucht, damit man die Inhalte auch lesen kann.
Danke, trotzdem was gelernt.
Gruß
Bertram
Anzeige
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 14:51:00
Daniel
Hi
wenns nicht allzuviele sind, dann per Makro
- Verbundene Zellen trennen
- Kopieren
- Verbundene Zellen in beiden Dateien wieder herstellen
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 15:02:00
Bertram
Hi,
das wär ne Möglichkeit. Ich checke gerade, ob es möglich ist, dass ich die Seiten, die ich normalerweise untereinander habe evtl. auf Spalten aufteilen kann, dann müßte ich die Zellen auch nicht verbinden.
Danke nochmals.
Gruß
Bertram
AW: Codemodule löschen -> Sicherheitshinweis bleibt
22.12.2008 16:25:00
Tino
Hallo,
könnte es so nicht gehen?
Modul Modul1
Option Explicit 
 
Sub Makro1() 
Dim myTab As Worksheet 
Dim strName As String 
    
   strName = ActiveSheet.Name 
   Set myTab = Sheets.Add 
   ActiveSheet.Cells.Copy 
   myTab.Cells.PasteSpecial (xlPasteValues) 
   myTab.Cells.PasteSpecial xlPasteFormats 
   Application.CutCopyMode = False 
   myTab.Move 
   ActiveSheet.Name = strName 
   'hier kannst Du diese Datei irgendwo speichern oder sonstwas damit machen 
End Sub 
 


Gruß Tino

Anzeige
falsche reihenfolge
22.12.2008 16:28:42
Tino
Dim myTab As Worksheet
Dim strName As String
   
   strName = ActiveSheet.Name
   ActiveSheet.Cells.Copy
   Set myTab = Sheets.Add
   
   myTab.Cells.PasteSpecial (xlPasteValues)
   myTab.Cells.PasteSpecial xlPasteFormats
   Application.CutCopyMode = False
   myTab.Move
   ActiveSheet.Name = strName
   'hier kannst Du diese Datei irgendwo speichern oder sonstwas damit machen 


Anzeige
Sehr gut:-)
23.12.2008 09:54:17
Bertram
Hallo Tino,
habe deinen Code gerade eingebaut und ausprobiert. Das funktioniert sehr gut. Bisher hab ich einfach die Datei nochmal öffnen, speichern und wieder schließen lassen. Ist zwar doof, aber hat auch funktioniert.
Hast du denn irgendeine Erklärung für das "Phänomen"?
Danke für deinen Code.
Wünsche allen frohe Weihnachten und einen guten Rutsch in ein hoffentlich gesundes Jahr 2009.
Gruß
Bertram
AW: Sehr gut:-)
23.12.2008 10:34:00
Tino
Hallo,
eine direkte Erklärung dafür habe ich nicht, kann mir nur vorstellen dass Excel irgendwo die Information über enthaltene Makros, Module Userformen usw. behält.
Man müsste mal solch eine Datei in einem Hexeditor oder so untersuchen und nachschauen was sich
nach dem erneuten öffnen und speichern geändert hat.
Da ich dieses Problem recht selten habe, ist mir der Aufwand dazu zu groß.
Gruß Tino
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige