Hallo,
ich bastel grad an einer Tabelle, auf welcher ich den Großteil sperre und 2 Spalten ein und 2 andere ausblende, letzteres per VBA und Optionsfeld.
Sperre ich aber die Tabelle, funktioniert das ein/ausblenden nicht mehr. :(
So sieht meine Formel aktuell aus...
Code:
Sub Spalten_C_F_EIN_AUS()
Application.ScreenUpdating = False
Select Case ActiveSheet.Range("D1").Value
Case 1
Range("J:J,K:K").EntireColumn.Hidden = True
Range("G:G,H:H,I:I").EntireColumn.Hidden = False
Case 2
Range("G:G,I:I").EntireColumn.Hidden = True
Range("H:H,J:J,K:K").EntireColumn.Hidden = False
End Select
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$D$1"
Spalten_J_K_EIN_AUS
Case Else
'do nothing
End Select
End Sub
Ich weiss, dass es da eine Möglichkeit mit
Code:
Sub schutz()
ActiveSheet.Protect daspasswort
End Sub
bzw
Code:
Sub schutz()
ActiveSheet.Unprotect deinpasswort
End Sub
gibt... aber wie bau ich das ein?
Vielen Dank für Eure Hilfe
Hallo
direkt hinter Sub als ersten Befehl: ActiveSheet.Unprotect und vor End Sub wieder_ ActiveSheet.Protect in deinen Code einfügen! Das ist alles.
Geht bei ungesperrtem Sheet auch OHNE Passwort, es sei denn du hast bereits ein Passwort vergeben und das Blatt ist gesperrt.
mfg Gast 123
Hi,
danke erstmal für Deine schnelle Reaktion...
So funktioniert es leide rnicht :(
Code:
Sub Spalten_C_F_EIN_AUS()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Select Case ActiveSheet.Range("D1").Value
Case 1
Range("J:J,K:K").EntireColumn.Hidden = True
Range("G:G,H:H,I:I").EntireColumn.Hidden = False
Case 2
Range("G:G,I:I").EntireColumn.Hidden = True
Range("H:H,J:J,K:K").EntireColumn.Hidden = False
End Select
Application.ScreenUpdating = True
ActiveSheet.Protect
End Sub
'Zusätzlich Code unter Tabelle1, falls Wert in A4 nicht über die Options-Schaltflächen geändert _
wird
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$D$1"
Spalten_J_K_EIN_AUS
Case Else
'do nothing
End Select
End Sub
Hab zudem grad festgestellt, dass ich das Problem noch an anderer Stelle hab
Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Selection.EntireRow.Insert
' ACHTUNG: Das With darf nicht 1 drüber, da sich durch das Insert die Selection ändert
With Selection.EntireRow
.Offset(-1, 0).Resize(1).Copy
.PasteSpecial Paste:=xlPasteFormulas
End With
Application.ScreenUpdating = True
End Sub
hatte hier grad noch einen code aufgeführt, der funktioniert aber doch... war mein Fehler
zur Ergänzung:
Es gibt in der Mappe unterschiedlich gesperrte Zellen...
Zudem habe ich noch einige Buttons eingefügt, welche einen in unterschiedliche Zeilen springen läßt.. die Buttons sind immer sichtbar
(nach klick), egal in welcher Zeile man sich befindet... das funktioniert nach dem sperren auch nur sehr schlecht :(
Der Floating-Effekt gar nicht mehr und die Buttons nur ab und an :(
Ich habe mal eine Musterdatei beigelegt mit allen VBA's etc. auf dem ersten Tabellenblatt ahbe ich auch einige Kommentare in der Nähe
der jeweiligen Buttons gemacht ;)
Das Passwort, welches die Tabelle sperrt lautet "TEST"
Vielen Dank für Eure Hilfe :)
keiner eine Idee? Oder Hilfe?
Hallöchen,
eventuell beschreibst mal etwas genauer, wann was passiert bzw. nicht.
Wenn irgendwo eine Zelle nicht ausgewählt werden kann, liegt es vielleicht, weil selbige gesperrt ist, an der Einstellung beim Schutz?
Hallo
mir ist aufgefallen das die Beispieldatei extrem langsam reagiert. Da kann man nach jedem Klick Kaffee trinken gehen.
Die Button sind nicht auf FreeFloating eingestellt!! Das Anklicken der Button dauerte über 10 Sekunden, im Zeitlupentempo!
Gibt es da zigtausend Formeln die man nicht sieht, oder warum ist die Datei so langsam???
mfg Gast 123
@Gast,
welche Datei meinst Du? Die xlsm läuft flüssig.
@ItsME
wenn Du bei Blattschutz Objekte anfassen willst musst Du z.B. den Schutz entsprechend einstellen oder auch bei den Objekten die Eigenschaft "gesperrt" deaktivieren
Hallo
seltsam, bei mir gibt es dirverse Problem, habe es gerade noch mal getestet. Kann z.B. jetzt die Button zum bearbeiten nicht mehr anklicken, trotz Entwicklermodus. Das ging vorher. Sie springen aber korrekt zur gewünschten Zeile. FreeFloatin kann ich nicht mehr kontrollieren.
mfg Gast 123
@schauan
ich hab zwischenzeitlich noch etwas mit hin- und her und telefonieren etc. lösen können.
Jetzt gibt es nur noch 3 Probleme:
1. Spalten ein-/ausblenden mit dem Options-Feld in L1 funktioniert nicht (nun in einem Modul (Modul2)).
2. [Zeile löschen] löscht, nachdem ich die Tabelle im Script entsperre und wieder sperre nur eine Zelle... nicht mehr die markierte Zeile :(
3. wenn ich die Tabelle manuell entsperre und iregendwohin klicke, sperrt sie sich automatisch wieder
unglücklich, wenn man mehr bearbeiten muss :(
Habe die aktuelle Version mal hochgeladen :)
@Gast 123
bei mir läuft sie "noch" flüssig
Das "Floating" ist leider nur so halb automatisch... scrollt man runter und klickt wirgendwo hin, flutschen die Buttons runter in den sichtbaren Bereich rechts.
@schauan
ich weiss, aber genau da liegt das Problem... nahezu überall funktioniert das, außer bei den Spalten, die aus-/eingeblendet werden sollen.
Ich denke, es muss für diese Atkion die Tabelle erst entsperrt werden und anschließend gesperrt werdne... aber das geht mit meiner Logik zu VBA nicht :(
@Gast 123
vielleicht eine andere Excel-Version? ich nutze hier die aktuellste.. zu Haus die 2019er.. auf Beiden gehts...
Danke