Microsoft Excel

Herbers Excel/VBA-Archiv

Spalten Ausblenden in freigegebener Arbeitsmappe

Betrifft: Spalten Ausblenden in freigegebener Arbeitsmappe von: Marco
Geschrieben am: 17.08.2008 22:56:20

Hallo,

ich möchte gerne in einer freigegeben Arbeitsmappe bestimmte Spalten per Klick auf ein Symbol aus- und wieder einblenden können.

Mein Problem ist der Blattschutz in der freigegebenen Arbeitsmappe. Aufgrund meiner bescheidenen VBA-Kenntnisse, weiß ich nicht, an welcher Stelle des jeweiligen Makros ich die Parameter:
ActiveSheet.Protect userInterfaceOnly:=True
und/oder?
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
setzen muss.

Hier ist mein Makro zum ausblenden:

Sub SpaltenAusblenden()
'---Tabelle "Tischebedarf" aktivieren---
Sheets("Tischebedarf").Activate
'---Trotz Blattschutz AUS- und EINBLENDEN zulassen---
ActiveSheet.Protect userInterfaceOnly:=True
'---Spalten AUSBLENDEN---
Columns("F").EntireColumn.Hidden = True
Columns("H").EntireColumn.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
End Sub

Im nicht freigegebenen Modus geht alles und nach dem Einschalten kommt Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler.

Vielen Dank für Eure Hilfe!

Marco

Ich habe hier im Forum schon folgendes gefunden, aber es funktiuoniert bei mir nicht: https://www.herber.de/forum/archiv/668to672/t669193.htm









Betrifft: Spalten Ausblenden in freigegebener Arbeitsmappe
von: Steve
Geschrieben am: 19.09.2005 11:15:49

Hallo Forum,

ich benötige in einem mit Blattschutz vesehenen Arbeitsblatt, das ich zum Bearbeiten für  _
mehrere Nutzer freigegeben habe, die Funktion zum Spalten ausblenden. 

In nicht freigegebener Arbeitsmappe funktioniert das so:


Sub Radtypen()

'---Tabelle "Übersicht" aktivieren---
Sheets("Übersicht").Activate

ActiveSheet.Unprotect Password:=""

'---Trotz Blattschutz AUS- und EINBLENDEN zulassen---
ActiveSheet.Protect userInterfaceOnly:=True

'---Trotz Blattschutz AUTOFILTER zulassen---
ActiveSheet.EnableAutoFilter = True

'---Bereiche EINBLENDEN---
Columns("A:IV").EntireColumn.Hidden = False

'---Zelle A7 LÖSCHEN---
Cells(1, 7).ClearContents

'---In Zelle A1 "Radtypen" schreiben---
Range("A1").Value = "Radtypen"

'---Zellen AUSBLENDEN---
Columns("D:F").EntireColumn.Hidden = True
Columns("I:I").EntireColumn.Hidden = True
Columns("K:AG").EntireColumn.Hidden = True
Columns("AI:AN").EntireColumn.Hidden = True
Columns("BE:DL").EntireColumn.Hidden = True

'---AUTOFILTER aufrufen---
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

'---FILTERN in Spalte "34" nach Kriterium "4"---
Selection.AutoFilter Field:=34, Criteria1:="=4"

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=""

End Sub


Hat vielleicht jemand eine Idee, wie man das umgehen kann?

Gruß Lotte


P.S. Das ganze benötige ich außerdem noch für den Autofilter
    


Betrifft: AW: Spalten Ausblenden in freigegebener Arbeitsmappe
von: Herbert H.
Geschrieben am: 19.09.2005 14:08:50

hallo Lotte,
du mußt vor der Freigabe den Blattschutz so festlegen,daß du das Makro im Freigabemodus
ohne Aufheben des Blattschutzes Ausführen kannst...

für Spalten ein u.Ausblenden z.B.so:

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True

das Aufheben des Blattschutzes im Freigabemodus ist nicht möglich !

gruß Herbert


  

Betrifft: AW: Spalten Ausblenden in freigegebener Arbeitsmappe von: Herbert
Geschrieben am: 18.08.2008 14:42:28

Hi,

Schutzeinstellungen können in frei gegebenen Mappe nicht geändert werden!

mfg Herbert


  

Betrifft: AW: Spalten Ausblenden in freigegebener Arbeitsmappe von: Marco
Geschrieben am: 18.08.2008 18:26:31

Hallo Herbert,

vielen Dank für Deine Antwort.

Das Problem hat sich von selbst aufgelöst!


 

Beiträge aus den Excel-Beispielen zum Thema "Spalten Ausblenden in freigegebener Arbeitsmappe"