[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートの保護中に置換を可能にする方法』(スイマ)
保護をしているシートで、一部セルのロックを解除しています。
このロック解除されたセルで置換を可能にしたいのですが、
セルのロックは解除されていても、
シートの保護がかかっていると置換ができません。
マクロで、シートの保護がかかっていても、
セルロックが解除されていれば置換可能にすることはできないでしょうか?
お手数ですがご教示の程よろしくお願いいたします。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
シートの保護解除 処理 シートの保護
と「マクロ」で行います。 (OK) 2019/12/16(月) 17:07
シートを保護するときに
ActiveSheet.Protect UserInterfaceOnly:=True
とすれば、マクロからの置換は可能になります
(渡辺ひかる) 2019/12/16(月) 17:16
これ、置換対象はロックされたセル、ロックされていないセル両方にありロックされていないセルだけ 置換対象にしたいということなのだろうか?
(ねむねむ) 2019/12/17(火) 09:23
説明が下手で申し訳ありません。
エクセルで、ある入力フォーマットを作成しています。
目的は、複数の人に定型フォームで数値等を入力してもらうためです。
フォーマットを勝手に変えてしまう人がいるため、変えられないように、シートの保護をかけて一部のセルだけ入力可能としています。
この状況で、入力者にエクセルの「置換機能(Ctrl+H)」も使えるようにしたいのです。
今使っているマクロは以下の通りです。●はパスワードです。
(このマクロは、シート保護がされていてもグループ化の開閉を可能にすることを目的としています)
Private Sub Workbook_Open() For Each W_Sheet In Worksheets With W_Sheet .Unprotect Password:="●●" .EnableOutlining = True .Protect Password:="●●", Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True, AllowFormattingCells:=True End With Next End Sub
現状、このマクロだけですと、入力可能なセルのみを選択して「置換」をしようとしても、ロックがかかっている旨エラーが出ます。
何か方法はありますでしょうか?
(スイマ) 2019/12/17(火) 10:18
Dim 入力可能なセル As Range Set 入力可能なセル = Range("C3,D5") '適宜編集 If Intersect(Target, 入力可能なセル) Is Nothing Then ActiveSheet.Protect Password:="●●", Contents:=True, DrawingObjects:=False, UserInterfaceOnly:=True, AllowFormattingCells:=True Exit Sub Else ActiveSheet.Unprotect Password:="●●" End If End Sub (mm) 2019/12/17(火) 10:49
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.