『Excel』で『Locked』をかけると、『アプリケーション定義またはオブジェクト定義のエラーです。』って…。
『Excel』でマクロを開発する羽目に…。
で、変更可能部分を限定してとのリクエスト…。
それも条件によって変更して欲しいと、中々…
それを、マクロで組む事に…
特定の場所にロックを掛けたり外したりして
シートに『シートの保護』をかけてと…。
作っていったら、アンロック処理でエラーがぁ!
例えば、下図の黄色い所の2か所。
有る時には、書き込み可能に。
有る時には、書き込み禁止に。
で、下の黄色い部分をマクロでアンロックを行うとエラーが出る…。
『アプリケーション定義またはオブジェクト定義のエラーです。』って…
Range("B4").Locked = False
で、良いはずなのに!?
上は、
Range("B2").Locked = False
でエラーが出ずに正常に実行される…。
勿論エラーは、出ない…。
『セルの書式設定』から『ロック』をチェックすると出来るのに…。
何故!?
…
で、ハタと気が付いた!
全部、指定しないといけないのか!?
って訳で、
Range("B4:E6").Locked = False
で、実行できた!
セルが結合されている場合には、
結合している範囲で指定しないと、
処理しないらしい…。
色とか、テキストは、
Range("B4").Value = "test"
Range("B4").Interior.Color = RGB(100, 100, 100)
で、OKなのに、なんでロックだけ?
…
多分、やり忘れたと思う。
チェック漏れ…。
でも、出来るので…
まあ、『仕様です』なんだろう…。(笑)
一応、『Microsoft Office 2010』の『Microsoft Excel 2010』で
作成したのだが、他でも同様の現象は、でるのでは?
…
これも、ニッチな情報ですな~。(汗)
| 固定リンク
コメント