Office: VBA Spalten aus- und einblenden trotz Blattschutz

Helfe beim Thema VBA Spalten aus- und einblenden trotz Blattschutz in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag Ich habe eine Übersicht, in dem die Urlaubszeiträume meiner Kollegen eingetragen werden sollen. Neben Namen, Vornamen und Zeitraum sollen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von mbaeumk, 24. Juni 2021.

  1. mbaeumk Neuer User

    VBA Spalten aus- und einblenden trotz Blattschutz


    Guten Tag

    Ich habe eine Übersicht, in dem die Urlaubszeiträume meiner Kollegen eingetragen werden sollen. Neben Namen, Vornamen und Zeitraum sollen noch weitere spezifische Daten eingetragen werden. Die entsprechenden Spalten kann man mithilfe von Buttons ein- und ausblenden. Bis hierhin klappt alles soweit.

    Nun zu meinem Problem:
    Ich will das ganze noch mit einem Blattschutz schützen, damit die Zellen mit meinen Formeln nicht versehentlich gelöscht werden. Die Codes schreibe ich mal mit rein.

    Für das Ausblenden:
    Sub Relevante_Ansicht()
    Worksheets("Übersicht").Unprotect Password:="password"
    Columns("G:G").Select
    Selection.EntireColumn.Hidden = True
    Columns("H:H").Select
    Selection.EntireColumn.Hidden = True
    Columns("I:I").Select
    Selection.EntireColumn.Hidden = True
    Range("C1:F1").Select
    Worksheets("Übersicht").Protect Password:="password"
    End Sub

    Und für das Einblenden:
    Sub Bearbeitungsansicht()
    Worksheets("Übersicht").Unprotect Password:="password"
    Columns("G:G").Select
    Selection.EntireColumn.Hidden = False
    Columns("H:H").Select
    Selection.EntireColumn.Hidden = False
    Columns("I:I").Select
    Selection.EntireColumn.Hidden = False
    Range("C1:F1").Select
    Worksheets("Übersicht").Protect Password:="password"
    End Sub

    Das Problem dabei ist, dass ich auch ein Code habe, die die gesamte Zeile rot umrandet, abhängig davon, welche Zelle man ausgewählt hat, quasi als Zeilenführung. Hier der Code dafür:

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    ActiveSheet.Unprotect Password:="password"
    Application.ScreenUpdating = False
    Cells.Rows.Borders.ColorIndex = xlNone
    Target.EntireRow.Borders.ColorIndex = 3
    Target.EntireRow.Borders.Weight = xlThin
    Target.EntireRow.Borders(xlInsideVertical).LineStyle = xlNone
    Application.ScreenUpdating = True
    ActiveSheet.Protect Password:="password"
    End Sub

    Allerdings habe ich dass Gefühl, dass sich die unterschiedlichen Codezeilen, um den Blattschutz aufzuheben, sich gegenseitig nicht leiden können. Hat da jemand eventuell eine Idee, woran es hapern könnte? Ich weiß, dass das ein recht spezifisches Problem ist, aber ich hoffe trotzdem, dass mir jemand hier helfen kann.
     
    Zuletzt bearbeitet: 24. Juni 2021
    mbaeumk, 24. Juni 2021
    #1
  2. Lutz Fricke Erfahrener User
    Hallo mbaeumk,

    leider habe ich nicht das gleiche Gefühl wie du...
    Bekommst Du eine Fehlermeldung? Was genau funktioniert nicht?

    Ins Blaue geraten, würde ich sagen, dass dein Worksheet_SelectionChange-Event im Blatt "Übersicht" liegt. Damit startest Du eines der oberen Makros, gibst das Blatt frei, selektierst einige Zellen und startest damit das Event-Makro, dass dann den Blattschutz wieder reinschreibt.

    Die geratene Lösung wäre, in den beiden oberen Makros zu Beginn die Events auszuschalten und am Ende wieder einzuschalten. Außerdem solltest Du im Event-Makro prüfen,ob nur eine Zelle selektiert wurde.

    Gruß,
    Lutz
     
    Lutz Fricke, 24. Juni 2021
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi,

    wann tritt denn das Problem auf und was genau verstehst du unter "können sich untereinander nicht leiden"? Tritt ein Fehler auf oder führt der Code nicht das aus was du erreichen willst?


    VBA Spalten aus- und einblenden trotz Blattschutz GrußformelVBA Spalten aus- und einblenden trotz Blattschutz Beverly's Excel - Inn
     
    Beverly, 24. Juni 2021
    #3
  4. mbaeumk Neuer User

    VBA Spalten aus- und einblenden trotz Blattschutz

    Also, meine Absicht ist es dabei, die Zeilenführung beizubehalten, und die Ansichtsänderung nur bei Bedarf mit Buttons zu benutzen. Es gibt zwei Buttons, einmal für die "Relevante Ansicht" und für die "Bearbeitungsansicht".

    Wenn ich allerdings den Code so dastehen habe wie oben aufgeführt und einen der beiden Buttons drücke, dann taucht folgende Fehlermeldung auf:

    Laufzeitfehler '1004':
    Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt werden.

    Ich weiß nicht genau, woran das liegt, aber wenn nur die Zeilenführung den Blattschutz umgehen kann, dann kann ich den Ansichtswechsel gar nicht nutzen, und wenn der Ansichtswechsel den Blattschutz umgehen kann, dann funktioniert die Zeilenführung nicht mehr. Ich hätte aber schon gerne beides drin.
     
    mbaeumk, 24. Juni 2021
    #4
  5. Lutz Fricke Erfahrener User
    Hallo mbaeumk,

    einfach mal die beiden Makros im Einzelschritt ausführen. Was macht der Code?
    Wo kommt die Fehlermeldung?

    Gruß,
    Lutz
     
    Lutz Fricke, 24. Juni 2021
    #5
  6. mbaeumk Neuer User
    Die Fehlermeldung taucht meistens in der rot gefärbten Zeile. Ab und zu kommt sie aber erst in der orange markierten Zeile.

    Sub Relevante_Ansicht()
    Worksheets("Übersicht").Unprotect Password:="password"
    Columns("G:G").Select
    Selection.EntireColumn.Hidden = True
    Columns("H:H").Select
    Selection.EntireColumn.Hidden = True
    Columns("I:I").Select
    Selection.EntireColumn.Hidden = True
    Range("C1:F1").Select
    Worksheets("Übersicht").Protect Password:="password"
    End Sub
     
    mbaeumk, 24. Juni 2021
    #6
  7. Lutz Fricke Erfahrener User
    Was sagt der Einzelschritt-Modus? Durchläuft das Makro das Worksheet_SelectionChange-Event?

    Wenn die Fehlermeldung meistens in der roten Zeile kommt und nur manchmal in der orangen, ist dann in diesen seltenen Fällen zufällig vorher die Spalte G markiert gewesen?
     
    Lutz Fricke, 24. Juni 2021
    #7
  8. mbaeumk Neuer User

    VBA Spalten aus- und einblenden trotz Blattschutz

    Macht er. Ich fange beim ersten Sub an (in diesem Fall für die "Relevante Ansicht"), dann springt er zum Worksheet_SelectionChange und markiert dabei die gesamte Spalte G. Nachdem der gesamte Worksheet_SelectionChange durchlaufen wurde, springt er wieder rüber zum Sub Relevante_Ansicht(), markiert im Code die erste Selection-Zeile und gibt mir dann die Fehlermeldung, sobald ich einen Schritt weiter will.
     
    mbaeumk, 24. Juni 2021
    #8
  9. Beverly
    Beverly Erfahrener User
    Das Problem bei deinem Code ist, dass du immer alles selektierst - dadurch wird nach jedem Schritt das Worksheet_SelectionChange-Ereignis ausgelöst und das Blatt wieder gesperrt, sodass keine weitere Aktion für das Ausblenden/Einblenden möglich ist. Ändere den Code wie folgt:

    Code:
    Sub Relevante_Ansicht()
        Worksheets("Übersicht").Unprotect Password:="password"
        Columns("G:G").EntireColumn.Hidden = True
        Columns("H:H").EntireColumn.Hidden = True
        Columns("I:I").EntireColumn.Hidden = True
    '    Range("C1:F1").Select
        Worksheets("Übersicht").Protect Password:="password"
    End Sub
    
    Sub Bearbeitungsansicht()
        Worksheets("Übersicht").Unprotect Password:="password"
        Columns("G:G").EntireColumn.Hidden = False
        Columns("H:H").EntireColumn.Hidden = False
        Columns("I:I").EntireColumn.Hidden = False
    '    Range("C1:F1").Select
        Worksheets("Übersicht").Protect Password:="password"
    End Sub
    
    Falls du nicht unbedingt C1:F1 am Codeende selektieren musst, kannst du diese Zeile auch noch weglassen - ich habe sie einfach mal auskommentiert. Sie macht aber keinen Ärger, weil danach keine Ämderungen im Tabellenblatt ausgeführt werden sondern nur der Blattschutz noch gesetzt wird.


    VBA Spalten aus- und einblenden trotz Blattschutz GrußformelVBA Spalten aus- und einblenden trotz Blattschutz Beverly's Excel - Inn
     
    Beverly, 24. Juni 2021
    #9
  10. PIVPQ hat Ahnung
    Hallo

    Ich bekomme keine Fehlermeldung. Aber ich vermute du hast deinen Code an falscher Stelle stehen.
    Außerdem sind die "Select" und "Selection" und auch "Range("C1:F1").Select" ganz überflüssig.
    Kopiere das Makro "Bearbeitungsansicht" und "Relevante_Ansicht" in ein Allgemeines Modul.
    Und die "Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)" in das Modul Übersicht kopieren.
     
  11. mbaeumk Neuer User
    Danke Beverly. Hab deins ausprobiert, und es funktioniert einwandfrei. Danke für deine Hilfe
     
    mbaeumk, 25. Juni 2021
    #11
Thema:

VBA Spalten aus- und einblenden trotz Blattschutz

Die Seite wird geladen...
  1. VBA Spalten aus- und einblenden trotz Blattschutz - Similar Threads - VBA Spalten einblenden

  2. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  4. VBA - letzte nicht-leere Spalte

    in Microsoft Excel Hilfe
    VBA - letzte nicht-leere Spalte: Moin, liebe VBA-Spezis, mit Cells(99, Columns.Count).End(xlToLeft).Column bestimme ich die Spaltenzahl der letzten benutzten Zelle in Zeile 99. Soweit, so klar. Nun habe ich aber Formeln in...
  5. Ganze Spalten mit einer Checkbox aus-/einblenden (VBA?)

    in Microsoft Excel Hilfe
    Ganze Spalten mit einer Checkbox aus-/einblenden (VBA?): Hallo, kann mir mal bitte einer behilflich sein. Ich möchte gewisse Spalten auf einem bestimmten Blatt durch drücken einer Checkbox ausblenden lassen. Checkbox liegt auf "Tabelle1" und in...
  6. VBA: Spalten einblenden, wenn in Eingabezelle bestimmter String

    in Microsoft Excel Hilfe
    VBA: Spalten einblenden, wenn in Eingabezelle bestimmter String: Hallo in die Runde, danke schon mal für euren Support!! Meine Tabelle: - Ein Blatt, heißt GESAMT, 120 Spalten, ca. 1000 Zeilen - jeweils in Zeile 2 sind ab Spalte J Strings enthalten (z.B....
  7. VBA: Spalten einblenden wenn zwei Zellen übereinstimmen

    in Microsoft Excel Hilfe
    VBA: Spalten einblenden wenn zwei Zellen übereinstimmen: Hallo zusammen, ich habe nun schon etliche Zeit damit verbracht etwas passendes zu finden. Hatte bislang aber leider kein Erfolg. Folgendes Problem: Sofern die Werte in zwei Zellen...
  8. VBA Spalten automatisch ein/ausblenden: Bilder verschieben sich beim Einblenden

    in Microsoft Excel Hilfe
    VBA Spalten automatisch ein/ausblenden: Bilder verschieben sich beim Einblenden: Hallo da draussen, ich habe mal wieder ein kleines Problem. Ich hoffe mir kann jemand helfen :) Leider kann ich keine Beispieldatei hochladen, da diese zu gross waere.. Abhaengig von der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden