Beim Start einer Excel soll anhand eines Zellenwertes eine bestimmte UserForm öffnen?
Hallo zusammen
Ich habe folgendes Problem:
Ich möchte beim öffnen einer Excel-Datei zuerst prüfen ob diese schon bearbeitet wurde oder ob es ein neuer Vorgang ist.
Geprüft werden soll es anhand einer Zahl in einer Zelle (Zelle D1). Ist die Datei Roh, also unbearbeitet, steht kein Wert bzw. 0 in der Zelle.
Wurde die Datei bereits bearbeitet ist der Wert 1 bzw. fortlaufend größer.
Ich möchte nun prüfen:
If D1<1
then uf_startfenster.show
else uf_neue_kalkulation.show
dies soll bei jedem Start der Datei automatisch erfolgen.
bei mir möchte es einfach nicht funktionieren :-(
Kaum zu glauben aber wahr, ich habe die Lösung selber gefunden.
Private Sub Workbook_Open()
'prüft ob dies eine neue Kalkulation ist oder ob es sich um eine existierende Kalkulation handelt
'und öffnet danach das entsprechende UserForm
If Worksheets("Kopfdaten").Range("d1") < 1 Then
uf_startfenster.Show
Else: uf_kopfdaten.Show
End If
End Sub
2 Antworten
nicht vergessen den fortlaufenden wert zurück zu setzen , den sonst wird dir das bei jedem mal öffnen passieren . bzw irgendwo ein verarbeitet erledigt setzen .
danke für den Input. Werde ich noch prüfen.
Es ist aber so angedacht, dass ich die Kalkulation in einem Vorlage Ordner ablege und dieser dann bei jeder neuen Kalkulation zur jeweilgen Anfrage rein kopiert wird.
dadurch sollte der Zellenwert immer, da ja von mir so hinterlegt, leer bzw. 0 sein.
Ich möchte nun auch in weiteren schritten versuchen die Datei nach der bearbeitung immer automatisch schützen. Das möchte ich damit der Kalkulator gezwungen werden soll bei einer Änderung eine neue Version an zu legen.
Für den Blattschutz habe ich mir überlegt, dass dies nicht beim beenden der Datei passieren soll da ich nicht weiß wie ich das Programmiertechnisch hin bekomme wenn der Kalkulator speichern oder Speichern Unter benutzt.
Deshalb möchte ich dies umgehen bzw. prozesssicher machen in dem ich bei jedem Start der Datei alles erst mal schütze. Somit kann die Datei und dessen Inhalt immer angesehen werden aber nur dann verändert werden wenn eine neue revision angelegt wird (Hier dann also wenn der Button gedrückt wird den Blattschutz aufheben.
Gruß NeffetsF
Das Ereignis, welches du abfangen musst, ist Workbook_Open.