|
▼りん さん:
> With Application.ActiveSheet
> .Unprotect
> If .Protection.AllowEditRanges.Count = 1 Then
> '設定が一つだけあったらセット(ほかは無視)
> Set r2 = .Protection.AllowEditRanges.Item(1).Range
> resp = vbYes
シートの中に範囲編集可能設定は複数あるので、
その中から該当する設定を選んで処理したものの、うまくいきません。
たとえば、上から3番目にある編集可能設定を当てはめるため、
Set r2 = .Protection.AllowEditRanges.Item(3).Range
とやると、一番上の設定をコピーしてくれたりします。
(Item番号と画面上の順番とは別物?)
ならば設定名称で判断しようと考え、
Dim stindx_st As Long
stindx_st = 1
Do Until Protection.AllowEditRanges.Title(stindex_st) = "内工費明細"
stindx_st = stindx_st + 1
Loop
とやると、"実行時エラー424 オブジェクトが必要です"となります。
お目当ての設定名称を見つけるまでループする場合、
正しい書き方はどうすればよいでしょうか?
たびたびで申し訳ありません・・・・・
|
|