Ich bin einfach zu blond.
In angefügter Datei habe ich das Blatt"Tabelle1" mit einem Blattschutz versehen.
Wenn ich jetzt eine Option auswählen möchte, bekomme ich immer den Hinweis:
"Die Zelle oder das Diagramm, die bzw. das Sie ändern möchten befindet sich auf einem schreibgeschüzten Blatt."
Ich weiß inzwischen das ich den Schutz mit dem Befehl ActiveSheet.unprotect und ActiveSheet.protect aufheben kann und das Makro dann ausgeführt wird.
Mein Problem:
An welche Stelle muss ich die Befehle schreiben, damit das Makro ohne Hinweis läuft.
https://www.herber.de/bbs/user/88961.xlsm
Gruß
Ulf
Makro vom Blatt"Tabelle1"
Private Sub OptionButton1_Click()
With Sheets("Tabelle1")
Select Case Range("b1")
Case "MMF"
.Columns(4).EntireColumn.Hidden = False
.Columns(5).EntireColumn.Hidden = True
.Columns(6).EntireColumn.Hidden = True
End Select
OptionButton8.Value = False
OptionButton9.Value = False
OptionButton10.Value = False
OptionButton11.Value = False
OptionButton12.Value = False
OptionButton13.Value = False
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End With
End Sub
Private Sub OptionButton2_Click()
With Sheets("Tabelle1")
Select Case Range("b1")
Case "135W"
.Columns(4).EntireColumn.Hidden = True
.Columns(5).EntireColumn.Hidden = False
.Columns(6).EntireColumn.Hidden = True
End Select
OptionButton4.Value = False
OptionButton5.Value = False
OptionButton6.Value = False
OptionButton7.Value = False
OptionButton11.Value = False
OptionButton12.Value = False
OptionButton13.Value = False
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End With
End Sub
Private Sub OptionButton3_Click()
With Sheets("Tabelle1")
Select Case Range("b1")
Case "200W"
.Columns(4).EntireColumn.Hidden = True
.Columns(5).EntireColumn.Hidden = True
.Columns(6).EntireColumn.Hidden = False
End Select
OptionButton4.Value = False
OptionButton5.Value = False
OptionButton6.Value = False
OptionButton7.Value = False
OptionButton8.Value = False
OptionButton9.Value = False
OptionButton10.Value = False
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End With
End Sub
Private Sub Optionbutton_Visible(Optional OP_direkt, Optional OP_1Weg, Optional OP_3Weg As _
Boolean, _
Optional OP_FFC As Boolean)
'Ein-/Ausblenden der Tabellenblätter.
'Parameter muss nur für die einzublendenden Blätter mit Wert True übergeben werden.
OP_direkt.Value = OP_direkt
OP_1Weg.Value = OP_1Weg
OP_3Weg.Value = OP_3Weg
OP_FFC.Value = OP_FFC
End Sub
Private Sub SerNr_RowsHide(arrRows As Variant)
'Zeilen ausblenden in Blatt "Ser.Nr."
'in arrRows wird ein Array mit den auszublendenden Zeilennummern übergeben
'wird Array("0") als Wert für arrRows übergeben, dann werden alle Zeilen eingeblendet.
Dim intI As Integer
With Sheets("Ser.Nr.")
.Rows.Hidden = False
If arrRows(LBound(arrRows)) "0" Then
For intI = LBound(arrRows) To UBound(arrRows)
.Rows(arrRows(intI)).Hidden = True
Next intI
End If
End With
End Sub
Private Sub Ein_Aublenden(strOption As String)
'Tabellenblätter, Spalten und Zeilen werden ein- bzw. ausgeblendet.
Application.ScreenUpdating = False
Select Case strOption
Case "FLx50"
Call SerNr_RowsHide(Array("2:3", "5:6", "11:14"))
Case "FLx75"
Call SerNr_RowsHide(Array("2:3", "5:6", "11:14"))
Case "FL010"
Call SerNr_RowsHide(Array("2:3", "5:6", "11:14"))
Case "FL020"
Call SerNr_RowsHide(Array("3:3", "6:6", "12:14"))
End Select
End Sub
Private Sub OptionButton4_Change()
'FLx50
Call Ein_Aublenden(strOption:="FLx50")
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End Sub
Private Sub OptionButton5_Change()
'FLx75
Call Ein_Aublenden(strOption:="FLx75")
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End Sub
Private Sub OptionButton6_Change()
'FL010
Call Ein_Aublenden(strOption:="FL010")
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End Sub
Private Sub OptionButton7_Change()
'FL020
Call Ein_Aublenden(strOption:="FL020")
OptionButton14.Value = False
OptionButton15.Value = False
OptionButton16.Value = False
OptionButton17.Value = False
End Sub