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

AutoNew() in Excel??

AutoNew() in Excel?
KlausFF
Moin alle miteinander,
folgendes Problem: Wenn anhand einer Mustervorlage (.xlt) eine Arbeitsmappe erzeugt wird - und nur dann - soll ein Makro starten. (Datenimport aus Textfile)
In Word kann man sowas mit 'nem Makro Namens AutoNew() erledigen. Gibt es in Excel ein Pendant dazu? Wenn nicht hat jemand ne Idee wie man ohne dem auskommt?
Gruß Klaus

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

Betreff
Benutzer
Anzeige
AW: AutoNew() in Excel?
harry
hi klaus,
denke mal dass das in der mustervorlage im register DieseArbeitsmappe eine

Private Sub workbook_open()
DEIN MAKRO
End Sub

macht.
liebe grüße,
harry
AW: AutoNew() in Excel?
KlausFF
Hallo Harry,
Das Ereignis tritt aber jedesmal beim Öffnen der Arbeitsmappe ein. Nicht nur beim erstmaligen Erstellen der Arbeitsmappe aus der Mustervorlage. Daher löst das mein Problem nicht.
trotzdem Danke
Gruß Klaus
AW: AutoNew() in Excel?
Bert
Lösch den Code sofort nach erstéllen der Mappe.
Bert
AW: AutoNew() in Excel?
KlausFF
Hallo Bert,
da hab ich auch schon dran gedacht, aber wie lösche ich den Code nach Ablauf des Makros?
Ich finde da nicht den richtigen Weg. Vielleicht habe ich das berühmte Brett vor dem Kopp?
;-))
Gruß Klaus
Anzeige
AW: AutoNew() in Excel?
Bert
Hier eine, wie ich finde, hübsche Lösung:
Option Explicit

Private Sub Workbook_Open()
If Not UCase(Left(ThisWorkbook.Name, 4)) Like ".XLT" Then
Call KillVBA
End If
End Sub

''Im Standardmodul:
Option Explicit
Sub KillVBA()
Dim vbc As Object
Dim wks As Worksheet
With ActiveWorkbook.VBProject
For Each vbc In .VBComponents
Select Case vbc.Type
Case 1, 2, 3
.VBComponents.Remove vbc
Case 100
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines
End Select
Next
End With
End Sub
Bert
Anzeige
AW: AutoNew() in Excel?
KlausFF
Cool,
habe gerade im Archiv was Ähnliches entdeckt. Deine Lösung sagt mir aber mehr zu. Werde es morgen probieren. Jetzt ruft die family.
Nochmal vielen Dank
Gruß Klaus
Kurze Rückmeldung
KlausFF
Moin Bert,
habe gleich alles ausprobiert. Klappt auch prima. Habe aber die Bedingung anpassen müssen. Den Aufruf zum löschen habe ich in das Ereignis "BeforeSafe" gelegt. Dadurch ist der Code schon vor dem Speichern gelöscht. Ansonsten würde sich manch eine(r) wundern, wenn er die Mappe öffnet, nichts macht und beim Schließen gefragt wird, ob er die Änderungen speichern will. ;-))
Für die Bedingung habe ich den Umstand genutzt, dass die Patheigenschaft beim Erstellen und vor dem Speichern noch nicht gesetzt ist
Gruß Klaus
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ThisWorkbook.Path = "" Then
KillVBA
End If
End Sub


Private Sub Workbook_Open()
If ThisWorkbook.Path = "" Then
DatenHolen
End If
End Sub

Anzeige
Sehr clever oT
Bert
o

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige