プロが教えるわが家の防犯対策術!

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

A 回答 (2件)

>イメージとしてはラジオやドロップダウンを貼り付けたアンケートを募集して、回収後ロックするといった感じです。



「感じ」というイメージは、こちらには、理解できません。


>一度選択した値を保持したままロックしたいのです。
私のマクロでは、できなかったのですか?マクロを望んでいないとでもいうのでしょうか。

もしそうなら、オプションボタンやドロップダウンに出力したLinkedCell の値自体、シートを保護すれば、オブジェクトをロックしなくても、シート上のデータの書き換えは不可能です。
    • good
    • 0

>ラジオボタン


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

この回答への補足

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

イメージとしてはラジオやドロップダウンを貼り付けたアンケートを募集して、回収後ロックするといった感じです。

補足日時:2010/09/25 00:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!