Excel 2003 で発生したので、注意として記録。Excel 2010では問題ない。

下のコードは、シート保護時に、ロックされていないセル範囲の選択を許可するもの。
シートを先にアクティブにすれば、ロックされていないセルだけが入力可能になる。

    Sheets(ShtName_資金分岐点).Activate
    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
        False
    ActiveSheet.EnableSelection = xlUnlockedCells

    ActiveSheet.Range("D8").Select


しかし、これを、シート保護をかけてから、シートアクティブにしようとすると、うまくいかない。
ロックしていないセルも、選択が許可されなかった。

     Sheets(ShtName_資金分岐点).Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
        False
    Sheets(ShtName_資金分岐点).EnableSelection = xlUnlockedCells
    
    Sheets(ShtName_資金分岐点).Activate

    ActiveSheet.Range("D8").Select



Microsoft Office ブログランキングへ