0

Excel 2012で共有および保護されたワークシートを持っています。(保護されていますがパスワードなし)私はこのマクロを書きました:

Private Sub CommandButton1_Click()
    ActiveSheet.Unprotect
    Range("B4:K38").Select
    Selection.Sort Key1:=Range("D4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
   'cells I don't want to be protect (to be user-editable)
    Range("B4:K38").Locked = False
   'protecting the sheet, and all the other cells will be protected
    Protect UserInterfaceOnly:=True
End Sub

しかし、このマクロを使用するたびに、プロテクト メソッドにエラーがあることを示すメッセージが表示されます。

私は何を間違っていますか?

4

1 に答える 1

0

これを試してください。モバイル以降はテストされていません

使用するのではなくprotect userinterfaceonly:=true

    with activesheet
         .EnableSelection = xlUnlockedCells 
         .Protect UserInterfaceOnly:=True 
    End With

また、UserInterfaceOnly を使用すると、vba で編集するためにシートの保護を解除する必要はありません。

于 2012-11-26T15:55:36.573 に答える