[[20140708115219]] 『マクロ設定のファイルにシート保護でエラー』(やま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ設定のファイルにシート保護でエラー』(やま)

 マクロの登録をしても、シート保護を可能にする手順をご教授ください。

 ファイルの一部分を生徒に触らせないようにするためです。 よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 マクロでシート保護をする際に、 UserInterfaceOnly オプションを指定してください。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_030_040.html

(Mook) 2014/07/08(火) 12:02


 (Mook)さん:

 ◎ 早速のご教示感謝です。 「実行時エラー'1004」が出ました。
 何処がミスなんでしょうか? ちなみに、シート保護なしでは、下段の設定で「正常に作動」しています。
 VBAは、ご指導いただきながらの操作しかできませんが、よろしくお願いします。

 Private Sub Workbook_Open()
'一旦、シート保護を解除
ActiveSheet.Unprotect
'シート保護を設定(UIのみ)
ActiveSheetProtect UserinterfaceOnliy:=True

ActiveWindows.ScrollRow = 1

End Sub

 Sub ボタン1_Click()
  Dim r As Variant
  If Range("F2").Value <> "" And Range("H2").Value <> "" Then
    r = Application.Match(Range("F2").Value, Range("B53:B84"), 0)
    If IsError(r) Then Exit Sub
    Range("B53:B84").Cells(r).End(xlToRight).Offset(, 1).Value = Range("H2").Value
  End If
  End Sub
(やま) 2014/07/08(火) 12:53

 とりあえず、コードは正確に書いてください。

 ○ ActiveSheet.Protect UserinterfaceOnly:=True
 × ActiveSheetProtect UserinterfaceOnliy:=True
              ^                      ^
(Mook) 2014/07/08(火) 15:58

 (Mook)さん:

 失礼をいたしました。書き直しましたが、「エラー」でした。
 但し、Excelの古いバージョンのPCにも使用する事になってしまいましたので。色々アドバイスを頂きまし
 たが、この質問は、ここで、一度切らせてください。ありがとうございました。
(やま) 2014/07/08(火) 20:15

 質問を継続されないのも自由ですが、どこがエラーだったかは説明するようにした方が
 解決が早いかと思います。

 ちょっと気になったのは Workbook_Open をThisworkbook の下にあるかといったところです。

(Mook) 2014/07/08(火) 22:07


ここも修正が必要です

 誤)ActiveWindows.ScrollRow = 1
 正)ActiveWindow.ScrollRow = 1

(マナ) 2014/07/08(火) 22:35


 (Mook)さん:(マナ) さん:

 ◎ ご親切に有り難うございます。実は、昨日今日と古いPCでの作業をしていました。
 念のためにと、ここを覗いてよかったです。
「条件付き書式」と「答えを消す」のマクロボタンを作成して、「シート保護」をかけたものが、完成?した
 ところです。 ぶしつけながら、下記に内容を記します。なぜ{OK」なのかも理解していませんが「希望
 の作業」はでき たという感じです。 ぶしつけながら、質問とかけ離れた行為かもしれませんが、下に記し
 ます。ご容赦を。

 Sub ボタン2_Click()
 Dim r As Variant
 Range("C14:G14,C28:G28,C42:G42").ClearContents

 End Sub

 ◎ マクロに関しては、理解できていませんが、何とかなっているという感じです。
 ◎ 条件付き書式で、◎や判定級などのセルは、「白色文字」にしておいて、「パスワードの入力」で「赤
 色文字」」で表示させることでクリアしました。

 ◎ 本日のご指導に関しましては、明日以降にExcel2010 Windows7で「チャレンジ」してみます。また
 とんでもない質問をすることになるかと思いますが、○○高齢者なので、よろしくお願いします。
(やま) 2014/07/09(水) 21:18

 (Mook)さん:(マナ) さん:

 ◎ 何度もご教示を頂き、ありがとうございます。

 ◎ 利用環境(方法) 小学生対象。「指定セル」しか、「入力可」としない。制限時
 間を設定するので入 力セルの移動を、スムースにしたい。終了したら次の生徒と交
 代 する際に、最初の「画面」に戻しておきたい。そこで、生徒番号の入力で「◎×の判
 定や得点・判定級の表示」をさせる。「得点記録」ボタンをク リックで、成績一覧表
 に記録させる。「答えを消す」ボタンのクリックで、入力したセルの文字を消す。初
 期画面(スタンバイ)シートをクリックで、次と「交代する。

 ◎ 結局は、2003ファイルでの作業となりましたが、下記のようにできましたので、
 御礼と報告をします。

 Private Sub Workbook_Open()

 '一旦、シート保護を解除
 ActiveSheet.Unprotect
 'シート保護を設定(Ulのみ) 
 ActiveSheet.Protect UserInterfaceOnly:=True

 ActiveWindow.ScrollRow = 1

 End Sub

 Sub ボタン3_Click()
 Dim r As Variant
  If Range("F2").Value <> "" And Range("H2").Value <> "" Then
    r = Application.Match(Range("F2").Value, Range("B53:B84"), 0)
    If IsError(r) Then Exit Sub
    Range("B53:B84").Cells(r).End(xlToRight).Offset(, 1).Value = Range("H2").Value
   End If
 End Sub

 Sub ボタン2_Click()

 Dim r As Variant

 Range("C14:G14,C28:G28,C42:G42").ClearContents

 End Sub

 何度も、ありがとうございました。

(やま) 2014/07/13(日) 12:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.