Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Arbeitsmappenname im Tabellenblatt aktualisieren | Herbers Excel-Forum


Betrifft: Arbeitsmappenname im Tabellenblatt aktualisieren von: Lutz Petzold
Geschrieben am: 19.01.2012 12:32:29

Hallo,

in der beiliegenden Arbeitsmappe wird der Abeitsmappenname in der Zelle A1 beim Speichern eingetragen.
Ist das Tabellenblatt geschützt, und die Zelle A1 gesperrt, dann tritt beim Speichern über die Schaltfläche ein Fehler auf, da das Makro Blattschutz dann nicht richtig funktioniert.
Beim Speichern über Str + S oder über das Diskettensymbol, ist dies nicht der Fall.

Mich würde gern interessieren, weshalb das der Fall ist.
Danke für Hinweise.

https://www.herber.de/bbs/user/78518.xlsm

M.f.G.
Lutz

  

Betrifft: AW: Arbeitsmappenname im Tabellenblatt aktualisieren von: Mister-B
Geschrieben am: 19.01.2012 12:54:48

Hallo Lutz,



ich bin kein VBA Profi aber mir ist nicht ganz klar warum du die beiden "Schutz" Makros als Funktionen deklariert hast. Wenn man die als ganz gewöhliche Makros schreibt funktioniert es. Also

Public Sub schutz_aus()
    'MsgBox "Schuz aus"
    ActiveWorkbook.Unprotect Password:="test"
    ActiveWorkbook.Worksheets(1).Unprotect Password:="test"
End Sub
'
Public Sub schutz_ein()
    'MsgBox "Schutz ein"
    ActiveWorkbook.Worksheets(1).Protect Password:="test", DrawingObjects:=True, Contents:=True, _
 _
 Scenarios:=True _
        , AllowFormattingCells:=True, AllowFiltering:=True, UserInterfaceOnly:=True
    ActiveWorkbook.Protect Password:="test", Structure:=True
End Sub

Der Zusatz UserInterfaceOnly bewirkt, dass ein Makro Werte in eine Zelle trotz Blattschutz schreiben kann.



Gruß

Martin


  

Betrifft: AW: Arbeitsmappenname im Tabellenblatt aktualisieren von: Lutz Petzold
Geschrieben am: 19.01.2012 13:15:35

Hallo Martin,

danke für Deinen Tip, aber auch wenn ich die Funktionen in Makros umwandle, tritt der Fehler auf.
Ich lasse den Beitrag mal offen.

M.f.G.
Lutz


  

Betrifft: AW: Arbeitsmappenname im Tabellenblatt aktualisieren von: Mister-B
Geschrieben am: 19.01.2012 12:54:48

Hallo Lutz,



ich bin kein VBA Profi aber mir ist nicht ganz klar warum du die beiden "Schutz" Makros als Funktionen deklariert hast. Wenn man die als ganz gewöhliche Makros schreibt funktioniert es. Also

Public Sub schutz_aus()
    'MsgBox "Schuz aus"
    ActiveWorkbook.Unprotect Password:="test"
    ActiveWorkbook.Worksheets(1).Unprotect Password:="test"
End Sub
'
Public Sub schutz_ein()
    'MsgBox "Schutz ein"
    ActiveWorkbook.Worksheets(1).Protect Password:="test", DrawingObjects:=True, Contents:=True, _
 _
 Scenarios:=True _
        , AllowFormattingCells:=True, AllowFiltering:=True, UserInterfaceOnly:=True
    ActiveWorkbook.Protect Password:="test", Structure:=True
End Sub

Der Zusatz UserInterfaceOnly bewirkt, dass ein Makro Werte in eine Zelle trotz Blattschutz schreiben kann.



Gruß

Martin


Beiträge aus den Excel-Beispielen zum Thema "Arbeitsmappenname im Tabellenblatt aktualisieren"