Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

Formatierungsmakro

Formatierungsmakro
22.12.2008 09:01:00
anne
Hallo,
ich hatte schon mal gefragt, da kam allerdings keine Lösung bei raus. Ich hab eine Datei, in der trotz Blattschutz eine Formatierung von Zellen, Zeilen und Spalten möglich sein soll. Hat hierfür jemand ein Makro?
Das müsste zwar auch mithilfe von Blattschutz-Einstellungen gehen, bei mir funktioniert das aber nur solange die Datei offen ist. Sobald ich sie schließe und neu öffne, geht es nicht mehr...
Kann jemand trotz Weihnachtsstress helfen? Das wäre super!
Anne

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

Betreff
Datum
Anwender
Anzeige
AW: Formatierungsmakro
22.12.2008 12:04:00
Luschi
Hallo Anne,
der Protect-Befehl hat ja den Parameter-Einstellung UserInterfaceOnly:=True.
Leider vergißt Excel diese Einstellung beim Schließen der Arbeitsmappe wieder.
Deshalb muß man beim Öffnen der AM diese Einstellung erneut aufrufen:

Private Sub Workbook_Open()
Worksheets("Tabelle1").Protect Password:="?", Contents:=True, UserInterfaceOnly:=True
End Sub

Damit kann man mit Vba-Code diese Tabelle bearbeiten bzw. formatieren.
Gruß von Luschi
aus klein-Paris

AW: Formatierungsmakro
22.12.2008 13:16:00
anne
Hi Luschi,
das Problem besteht leider immer noch. Sobald ich etwas in eine Zelle reinschreibe, geht die Formatierung nicht mehr.
Das Makro sieht so aus:

Private Sub Workbook_Open()
Dim i As Long
For i = 1 To Worksheets.Count
Worksheets(i).Protect Password:="esm", UserInterfaceOnly:=True, AllowFormattingRows:=True,  _
AllowFormattingColumns:=True, AllowFormattingCells:=True, DrawingObjects:=False, AllowInsertingRows:=True, AllowDeletingRows:=True, Contents:=True
Worksheets(i).EnableOutlining = True 'für Gliederung
Worksheets(i).EnableAutoFilter = True 'für Autofilter
Next i
End Sub


Das MAkro soll für alle Sheets gelten.
Gruß

Anzeige
AW: Formatierungsmakro
22.12.2008 13:22:34
Daniel
Hi
ein einfacher Schutz, der zwar alle Ihnalte schützt, aber trotzdem Formatierungen, Filterungen und Sortierungen zulässt, ist folgendes Makro im Modul des zu schützenden Tabellenblatts:

Private Sub Worksheet_Change(ByVal Target As Range)
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End Sub


allerdings ist dieser Schutz sehr leicht und ohne Password zu dekativieren (starten ohne Makros, wechseln in den Entwurfmodus), so daß es kein Schutz vor mutwilliger Beschädigung, sonden nur gegen unbeabsichtigtes Ändern ist.
Gruß, Daniel

Anzeige
AW: Formatierungsmakro
22.12.2008 13:35:00
anne
Sorry, vielleicht stelle ich mich ja irre blöd an, aber das funktioniert auch nicht. Es kommt noch nicht mal eine Fehlermeldung...
Eine Idee, woran das liegt?
Danke für die Mühe!
mit Workbook_SheetChange !
22.12.2008 20:28:00
Matthias
Hallo anne
es soll ja auch keine Fehlermeldung kommen, warum auch ?
Es wird nur die letzte Aktion rückgängig gemacht.(Undo)
Dazu müssen natürlich Makros aktiviert sein.
damit das auch in allen Blättern klappt muß der Code in DieseArbeitsmappe:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End Sub


Wenn Du nun das Blatt nicht geschützt hast, Makros aber aktiviert sind, so kannst Du auch Formatierungen ändern. Nur die Eingaben in Zellen werden rückgängig gemacht.
Gruß Matthias

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige