
No.3ベストアンサー
- 回答日時:
>Password:="パスワード"
もう、おわかりになってしまいましたが、
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 4 Then
Me.Protect "passward"
Else
Me.Unprotect "passward"
End If
End Sub
ちょっと洒落た書き方を教えておきます。
標準モジュールを設けて、その一番上の1行目に
Public Const PWD = "mypassword"
シートモジュールには、直接書くかわりに、このように変数を置いてもよいです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 4 Then
Me.Protect PWD
Else
Me.Unprotect PWD
End If
End Sub
'//
VBAに詳しい人なら分かってはしまいますが、ちょっと覗いたぐらいでは、PWDが、どうして、"mypassword" か、気がつかないかもしれません。
No.2
- 回答日時:
#1の回答者です。
ちょっと恥ずかしい書き方をしてしまいました。
ActiveSheet.Protect
マクロの経験者としては、
Me.Protect 'I,my,me の Me で、自分のシートという意味です。
と書くべきでした。そのままActivesheetでも、問題はありません。
このマクロの別な方法を、今年の9月の始めころから探し始めましたが、できるまでには、たぶん、1年以上は掛かりそうです。要するに、隠れている(コンテクチュアル)メニューを操作するということを考えていた最中に、今の方法を偶然に見つけました。私自身、なんとなくできることが不思議な気がします。
No.1
- 回答日時:
こんにちは。
1行~3行までの間で、入力する場所には、あらかじめ、書式の保護[タブ]で、ロックを外しておいてください。
画面下のシート名を右クリックして、その画面に、以下のようなコードを貼り付けます。とりあえず、この方法で試してみてください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 4 Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End Sub
'//
まだ、他の方法も考えてはいるのですが、そちらの方は実現できていません。
すばらしいです。3行目以上をクリックすると強制的にシートの保護になりました。非常に助かりました。また、当方には全く見たこともないコードでして、大変勉強になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) エクセルである文字が入っている行とその上下の行を削除したいのですが、一気にできる方法はないですか? 5 2022/10/14 14:14
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) エクセルでセルの値分の個数の数字列を自動で入れたい 8 2023/03/14 18:00
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Excel(エクセル) LibreOffice Calcでのセルの挿入について 1 2022/11/06 11:21
- 格安スマホ・SIMフリースマホ SIMカードのロックについて 1 2022/03/29 15:02
- Windows 10 Microsoft IMEを無効化する方法 1 2022/07/28 08:20
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで行削除できないようにするには
その他(プログラミング・Web制作)
-
エクセルでセルの挿入・削除を禁止し、他のセルの列や行がずれないようにし
その他(Microsoft Office)
-
excelの不要な行の削除ができない!
Excel(エクセル)
-
-
4
VBAでエクセルのワークシートに、列と行の、挿入と削除を禁止したい
その他(ソフトウェア)
-
5
エクセルの行と列が突然削除できなくなりました
Excel(エクセル)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
アクティブになっている行をマクロで削除したい
Excel(エクセル)
-
8
エクセル VBA で行の右クリックメニューから行の挿入削除を無効にしたい
Excel(エクセル)
-
9
エクセルの右クリックで行削除ができない
その他(パソコン・スマホ・電化製品)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
エクセルの行挿入、行削除の禁止
Excel(エクセル)
-
12
シートを保護しても入力規則を使えるようにしたい
Excel(エクセル)
-
13
Excel VBA のdebug(F8キー) がうまく動作しません(超初心者です)
Excel(エクセル)
-
14
コマンドボタンがデザインモードになったまま
Excel(エクセル)
-
15
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
16
Excelの入力規則で2列表示したい
Excel(エクセル)
-
17
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
18
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
19
VBAでセルをクリックする回数で表示が変わる
その他(プログラミング・Web制作)
-
20
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのシート上のShapeにイベ...
-
エクセルで特定の行だけ行削除...
-
エクセルで複数のシートのクリ...
-
マクロ1があります。 A1のセル...
-
【エクセル】フリーワード検索...
-
Excelで数字を入れたら対応する...
-
エクセルファイルを開いた回数...
-
【エクセル】「実行時エラー’10...
-
Excel VBAでのWorksheet_Change...
-
EXCELのダイアログシートって、...
-
エクセル シート内の一番下のセ...
-
Excelにて、同じ画像を複数のセ...
-
長い時間かかるマクロが実行中...
-
excel定数の違いについて。xlAu...
-
エクセルでマクロを作りすぎた...
-
自分の専門分野の仕事。初見で...
-
指定値をマクロで検索&シート移動
-
エクセルで至急教えてください!
-
エクセルで○をつけるマクロ設定
-
マクロを有効にしないとExcelフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで複数のシートのクリ...
-
マクロ1があります。 A1のセル...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
セルの一部分だけを太字にする方法
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
excelで画像のハイパーリンクを...
おすすめ情報
すみません。あと一つ。3行目までのどこかのセルをクリックして、「保護の解除」ボタンを押すと、保護が解除できてしまうので、ボタンを押したときにパスワードを要求できるようにすることは可能でしょうか。
失礼しました。調べたところ、以下の記述でできました。
ActiveSheet.Protect Password:="パスワード"