Excel: Tabelle bis zu einem bestimmten datum öffnen

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

wenn Du im Workbook sowieso Makros hast und die deshalb als .xlsm speichern musst, fällt ein zusätzliches Makro nicht auf. Dann schreib in das Modul-Blatt des Workbooks

Private Sub Workbook_open()
Grenzdatum as Date
Grenzdatum = 07/31/2013
if Today() > Grenzdatum then MSGbox "abgelaufen" : Workbook.close
End sub

Dann kannst Du es aber selbst auch nicht mehr öffnen, sofern Du nicht immer rechtzeitig das Grenzdatum veränderst

Alles andere ist komplizierter bis sehr kompliziert und könntre trotzdem umgangen werden (zB ein Eintrag in einem verborgenen Blatt, der aber nicht direkt angesprochen werden dürfte, weil sonst das Kennwort des Blattes offenbar würde etc.

Es macht echt keinen Spaß dir zu antworten wenn du nicht einmal Feedback gibst ob es funktioniert hat.

XXLKlugi 
Fragesteller
 30.06.2013, 09:20

Nein leider nicht, habe mich auch schon damit abgefunden. Trotzdem danke für deine vielen tollen Antworten! :-))

0

Schreibe ein Makro in ein Modul (im Tabellenblatt und in "Diese Arbeitsmappe" geht es nicht), das wie folgt aussieht:

Sub auto_open()
If Date > "15.06.2013" Then
    MsgBox "Schließe Tabelle" 'nur zur Demo, muss entfernt werden
    DisplayAlerts = False ' muss gesetzt werden, sonst fragt Excel in der nächsten Zeile, _
                            ob die Tabelle gespeichert werden soll
    Application.Quit ' schließt die Anwendung (Excel), Nachfrage wurde unterbunden
Else '                         nur zur Demo, muss entfernt werden
    MsgBox "noch geht's" '     nur zur Demo, muss entfernt werden
End If
End Sub

alternativ für 30 Öffnungen:

Sub Auto_open()
Tabelle3.Cells(1, 1).Value = Tabelle3.Cells(1, 1).Value + 1
If Tabelle3.Cells(1, 1).Value > 30 Then
    MsgBox "Schließe Tabelle" 'nur zur Demo, muss entfernt werden
    DisplayAlerts = False ' muss gesetzt werden, sonst fragt Excel in der nächsten Zeile, _
                            ob die Tabelle gespeichert werden soll
    Application.Quit ' schließt die Anwendung (Excel), Nachfrage wurde unterbunden
Else '                         nur zur Demo, muss entfernt werden
    MsgBox "noch geht's" '     nur zur Demo, muss entfernt werden
End If
End Sub

Der Name muss Auto_open sein!

Soweit die kleinen Hilfen.** Aber:** Jeder Crack weiß, dass er nur die Shift-Taste festhalten muss, um die Makro-Ausführung zu unterbinden. Und die Zahl (im zweiten Code)findet auch jeder, der an die Tabellen kommt. Allerdings kann man beim 1.Code im Else-Teil ja noch das entscheidende Blatt sichtbar machen, dann ist es schon mal schwieriger, so heran zu kommen. Oder man läd eine weitere Mappe, die wiederum dann ein verborgenes Blatt hat.... Aber alles keine Hürden für einen Fummler, Crack,....

Iamiam  16.06.2013, 14:54

DH für die Mühe, das durchzudeklinieren...
auch im ersten µ kann man natürlich das Datum einfach ändern. Aber gibts nicht eine Möglichkeit, das Modul zu verbergen und nur mit Kennwort sichtbar zu machen?
Beim Passwort zum Verbergen/wiederanzeigen eines Arbeitsblattes hab ichs schon mit kryprographischen Methoden versucht, aber irgendwie lässt sich alles umgehen...

0
PauleVBA  16.06.2013, 16:01
@Iamiam

Natürlich kann man ein Modul mit Passwort schützen. Dann ist es erst Mal nicht sichtbar. Aber das taugt auch nix, da es bei Excel (zumindest bis2003) Masterpasswörter gibt, mit denen man überall ran kann.

Außerdem lässt sich die Ausführung des Makros immer verhindern: beim Startklick sofort die Shift-Taste drücken und halten, das Makro ist ausgehebelt.

0
PauleVBA  16.06.2013, 16:16
@Iamiam

Musste die Anleitung noch suchen, aber hier ist sie:

Schützen der Module und Userforms einer kompletten Mappe:

Im VBA-Editor.

Rechtsklick auf VBAProjekt( MeineMusterMappe.xls)

Eigenschaften von VBAProjekt wählen

Reiter "Schutz" aufsuchen

Haken setzen "Projekt für Anzeige sperren"

Kennwort vergeben und

Kennwort bestätigen

Aber:

Jeder Jonny (der aus den Piratenfilmen) weiß, dass es Masterpasswörter gibt und das Makros mit Drücken der Shift-Taste umgangen werden können.

1
Iamiam  20.07.2013, 16:05
@PauleVBA

Danke für die vielen Auskünfte. Wahrscheinlich sehen wir solche Vorgaben wie "nicht zu öffnen" viel zu absolut, meist reichts wohl, das für den Normal-User zu erstellen.
Und da ich nicht Jonny, sondern Selbstlerner bin, kannte ich auch weder den Trick mit der Shift-Taste noch die Methode, Modul-Blätter für die Anzeige zu sperren. Ich lerne hier immer wieder was Neues!
Ich hätte Dir den Stern zugesprochen, ich nehm' ihn als statistischen Ausgleich für Fragen, wo andere ihn bekommen haben!

0

nein nicht das ich wüsste ^^