2016-03-31 11 views
0

Ich habe eine Excel-Makro-Vorlage. Ich führe ein Makro darauf und es speichert die neue Tabelle stattdessen als xlsx.Was ist der Befehl in Excel VBA, um ein bestimmtes Makro zu löschen?

Ich frage mich nur, ob es einen einfachen Befehl für VBA gibt, der nur ein Makro nach Namen löscht.

Ich habe das viel recherchiert, und es gibt im Grunde zwei Antworten, die nicht wirklich passen.

Die erste besteht darin, keine Makros in der Arbeitsmappe zu speichern, die ich speichere, und Makros nur von Arbeitsmappe zu Arbeitsmappe auszuführen. (Ich möchte dies nicht aus ein paar Gründen tun, aber Einfachheit ist der Hauptgrund.)

Die zweite ist ein VBA-Skript, das alle VBA und Verbindungen aus der Arbeitsmappe streift. (Ich brauche es nicht so viel zu tun, und ich mag lieber löscht Sie einfach den einen Makro ich habe.)

Also, was ich suche, ist nur etwa so:

Delete.Macro("Import") ' Dieser Befehl löscht das Makro in dieser Arbeitsmappe mit dem Namen "Import".

+0

gibt es keine einfache "dieses Makro Löschen" -Befehl. Diese [Seite] (http://www.cpearson.com/excel/vbe.aspx) wird Ihnen jedoch helfen. Es gibt dort eine Funktion namens 'DeleteProcedureFromModule' –

+0

Das Posten Ihrer Lösung als [eine Antwort] (http://stackoverflow.com/help/self-answer) passt das Format hier viel besser als das Bearbeiten Ihrer Frage - es wird es einfacher machen jemand anderes mit derselben Frage, um deine Lösung zu finden. – Comintern

Antwort

0

Spaß Gedanke, verwenden Sie VBA, um VBA zu entfernen ... scheint aber mehr Arbeit als nötig.

Was ist mit activeworkbook.saveas "filename.xlsx", xlExcel12?

Wie Sie sicher wissen, hat ein .xlsx keinen Code. Wenn Sie also Warnungen auf false setzen, wird nur die Datei gespeichert und der Code gelöscht.

Jetzt, wenn ich falsch gelesen, und Sie nur etwas von Ihrem Code löschen möchten, lassen Sie den Rest und speichern Sie als xlsx ... Sie sind kein Glück.

1

versuchen

Sub main() 

Application.DisplayAlerts = False 
Workbooks("PutWorkBookName").SaveAs FileFormat:=xlOpenXMLWorkbook  
Application.DisplayAlerts = True 

End Sub 
Verwandte Themen