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

Makor an bestimmten Datum mit VBA löschen

Makor an bestimmten Datum mit VBA löschen
25.06.2008 07:58:43
eddi
Hallo Spezis,
kann man mit VBA ein ein Makro löschen.
Ich möchte, wenn am 24.12.2008 oder später die Exceldatei geöffnrt wird, daß automatisch die Nachricht "Frohe Wheinachten" für 5Sekunden erscheint und sich die Datei danach wieder mit "speicher" automatisch schließt, ohne daß der User dieses Speichern bestätigen muß.
Ab dem 2.1.2008 soll die Nachricht "Frohes neues Jahr" erscheinen und nach 5 Sekunden ein altes Makro (Name: Begrüßung 2007) gelöscht werden. Dann soll die Datei normal geöffnet werden.
Ist das möglich?
Danke und grüße aus AIX
Eddi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makor an bestimmten Datum mit VBA löschen
25.06.2008 08:38:00
Tino
Hallo,
schreibe dein Begrüßungsmakro in ein eigenes Modul und lösche dieses mit unten stehendem Code.
Soll dies auch auf anderen Rechnern ausgeführt werden, wirst du ein Problem bekommen,
da der Zugriff auf VBA Projekte vertraut werden muss.

Sub ModulLöschen()
Dim meVBA As Object
For Each meVBA In ThisWorkbook.VBProject.VBComponents
If meVBA.Name = "Modul2" Then
ThisWorkbook.VBProject.VBComponents.Remove meVBA
End If
Next meVBA
ThisWorkbook.Save
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Makor an bestimmten Datum mit VBA löschen
25.06.2008 10:21:48
eddi
Hallo Tino,
habe Dein ModulLöschen glaube ich verstanden. Aber wie geht das mit der Benachrichtigung?
Zu meinem Level, außer Makros aufzeichnen klappt es auch schon ganz gut mit kopieren und einfügen :-)
Danke und Grüße aus Aix
Eddi

AW: Makor an bestimmten Datum mit VBA löschen
25.06.2008 10:39:00
Tino
Hallo,
so könnte es gehen, wie gesagt es werden die Module gelöscht keine einzelne Sub oder Function

Private Sub Workbook_Open()
Dim Datum1, Datum2 As Date
Datum1 = CDate("24.12.2008")
Datum2 = CDate("02.01.2009")
If Date >= Datum1 Then
Call ModulLöschen("Modul2") 'Modul 2 wird gelöscht
ThisWorkbook.Close True
End If
If Date >= Datum2 Then
Call ModulLöschen("Modul3") ''Modul 3 wird gelöscht
ThisWorkbook.Save
MsgBox "Frohes neues Jahr"
End If
End Sub
Sub ModulLöschen(strModulName As String)
Dim meVBA As Object
For Each meVBA In ThisWorkbook.VBProject.VBComponents
If meVBA.Name = strModulName Then
ThisWorkbook.VBProject.VBComponents.Remove meVBA
End If
Next meVBA
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Makor an bestimmten Datum mit VBA löschen
25.06.2008 18:34:00
Chris
Servus Eddi,
das mit den PopUps kann man auch so lösen, die gehen dann auch von alleine zu:

Private Sub Workbook_Open()
Dim WshShell
Dim intText As Integer
If Month(Date) = 12 And Day(Date) = 24 Then
Set WshShell = CreateObject("WScript.Shell")
intText = WshShell.Popup("Frohe Weihnachten", 5, "Schöne Feiertage")
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close True
End If
End If
If Month(Date) = 6 And Day(Date) = 25 Then ' Hier auf 1 und 2 anpassen
Set WshShell = CreateObject("WScript.Shell")
intText = WshShell.Popup("Frohes Neues Jahr", 5, "Schöne Arbeitstage")
' Hier dann das Makro zum Löschen, falls überhaupt notwendig
End If
End Sub


Das kann man auch für einen Zeitraum umschreiben, aber da brauch ich Angaben von dir, wie lange die Meldungen gezeigt werden sollen.
Du kannst beide teile ausprobieren. Einfach die Monats und Ttageszahlen an das heutige Datum anpassen (wie im 2. Teil bereits geschehen).
Gruß
Chris

Anzeige
AW: Makor an bestimmten Datum mit VBA löschen
25.06.2008 08:48:50
Tino
Hallo,
habe jetzt erst Deinen VBA Level gesehen!
Würde es nicht erst einmal ausreichen,
eine Massage Box zu einem bestimmten Datum oder auch zwei erscheinen zu lassen?
Gruß Tino

www.VBA-Excel.de


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige