VBA初心者です。初歩的な質問で申し訳ないのですが、教えていただけないでしょうか。
このシートは保護をかけ、特定の人にのみパスワードを教えてシート保護解除できるようにしようと
思っております。
- L列とN列は基本的にロックしておきたい(黄色の列)
(パスワードを知っている人だけがシート保護解除し入力します)
- リストE列の最終の値(書式ではなく)を認識させて、その上の行を全部ロックしたいです。
イメージ図で言えば、「E13」が最終値
3行目~13行目(ピンクの行)をロックしたいのですが、
「Columns(12).Locked = True」の所でアプリケーション定義、オブジェクトのエラーで
返されてしまいます。
離れた複数の列を指定してロックしたい時、どのように書けばいいか教えていただけませんか?
Option
1Sub マクロ実行() 2 Dim maxrow 3 Dim 対象範囲 4 5 'E最大セル「E65536」から↑で行番号を取得 6 maxrow = Range("E65536").End(xlUp).Row 7 8 '3行目以降「maxrow - 1」最終行から1個手前を取得し「対象範囲」に格納 9 対象範囲 = Range(Rows(3), Rows(maxrow - 1)).Locked = True 10 11 12 'N列,P列をロックする 13 Columns(12).Locked = True 14 Columns(14).Locked = True 15 ActiveSheet.Protect 16End Sub 17コード

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/02 13:42
2019/04/03 11:01 編集
2019/04/03 13:34