2.6k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo an alle,
ich hab ein ExcelSheet auf dem ich zwei Optionsfelder eingerichtet habe.
Durch die Auswahl "1" möchte ich Zeile 19 bis 30 ausblenden und durch Auswahl "2" wieder einblenden. ich möchte aber das Blatt schützen und nur bestimmte Felder zur Bearbeitung freigeben.
Als VBA habe ich unter "Diese Arbeitsmappe" folgenden Code eingetragen:

Sub ausblend()
ActiveSheet.Unprotect "1234"
ActiveSheet.Rows("19:30").Hidden = True
ActiveSheet.Protect "1234"
End Sub
Sub einblend()
ActiveSheet.Unprotect "1234"
ActiveSheet.Rows("19:30").Hidden = False
ActiveSheet.Protect "1234"
End Sub

nach Betätigung der Optionsfelder kommt die Anzeige: Die Zelle oder das ...., ist schreibgeschützt. ...
Wenn ich dann OK drücke funktioniert meine Ein/Ausblendung aber im Optionsfeld stimmen die "Punkte" nicht und die Anzeige "Die Zelle ..." will ich auch nicht haben.

Also jetzt hab ich hoffentlich alles geschrieben und hoffe auf eure Hilfe

Danke im Voraus

MATZE

3 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Matze,

das ist ja nur ein Teil des Codes. Der ist korrekt.
Ich hätte anber nur ein Code benutzt.
Sub blenden()
ActiveSheet.Unprotect "1234"
ActiveSheet.Rows("19:30").Hidden =not ActiveSheet.Rows("19").Hidden
ActiveSheet.Protect "1234"
End Sub

Ich vermute Du siehst den Unterschied, das ich es nur in einer Zeile prüfe.

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

danke erstmal für deine schnelle Antwort.

deine Lösung ist nicht schlecht nun muß ich zwar mein Sheet umbauen da ich die zwei Optionsfelder mit Texten zur Auswahl beschriftet hatte. Das werde ich jetzt durch "Eintrag in Feld X" erledigen müssen. Leider hab ich keine Möglichkeit gefunden meine Tabelle hier zu Posten damit eindeutig klar ist was ich will.

gar nicht so einfach seine gedanken zu Formulieren.


Also vielen Dank erstmal.

Gruss

Matze
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Matze,

das Forum hat so wa nicht, für 100 Tage hier www.uploadagent.de/index.php

Gruß Hajo
...