• 締切済み

EXCELでラジオボタンなどを配置したシートに対して「シートの保護」を

EXCELでラジオボタンなどを配置したシートに対して「シートの保護」をかけてもラジオボタンやコンボボックスは操作できてしまいます。ユーザフォームもロックしたいのですが、どうすれば良いでしょうか。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

>イメージとしてはラジオやドロップダウンを貼り付けたアンケートを募集して、回収後ロックするといった感じです。 「感じ」というイメージは、こちらには、理解できません。 >一度選択した値を保持したままロックしたいのです。 私のマクロでは、できなかったのですか?マクロを望んでいないとでもいうのでしょうか。 もしそうなら、オプションボタンやドロップダウンに出力したLinkedCell の値自体、シートを保護すれば、オブジェクトをロックしなくても、シート上のデータの書き換えは不可能です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

>ラジオボタン Excelは、オプションボタンと言います。 >ユーザフォームもロック 立ち上げなければよいのでは?立ち上げてからですと、マクロ自体を停止しないと、ボタンを押しても、何も出来なくなります。 '// Sub LockingMacro()  Dim cntl As Object  On Error Resume Next  With ActiveSheet   If .ProtectContents Then    .Unprotect    For Each cntl In .Shapes     If cntl.Type = msoOLEControlObject Then      cntl.DrawingObject.Object.Locked = False     ElseIf cntl.Type = msoFormControl Then      cntl.DrawingObject.Enabled = True     End If    Next   Else    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True    For Each cntl In .Shapes     If cntl.Type = msoOLEControlObject Then      cntl.DrawingObject.Object.Locked = True     ElseIf cntl.Type = msoFormControl Then      cntl.DrawingObject.Enabled = False     End If    Next   End If  End With End Sub

nulf
質問者

補足

説明が悪くて申し訳ございません。 ユーザフォームというより、Excelのシート上に直接貼り付けたラジオやドロップダウンなど 一度選択した値を保持したままロックしたいのです。 イメージとしてはラジオやドロップダウンを貼り付けたアンケートを募集して、回収後ロックするといった感じです。