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 回答