2016-02-27 127 views
1

我正在使用VBA代码来获取总和,但单元格被锁定时它不起作用。更改锁定单元格

我希望没有人能够手动更改特定单元格的值,但VBA代码可以更改该值。

我的代码是

Sub Get_Sum() 
    Dim LastRow As Long 
    LastRow = Range("B5000").End(xlUp).Row 
    Range("D" & LastRow + 1) = "Total Amount" 
    Range("E" & LastRow + 1).Formula = "=SUM(E4:E" & LastRow & ")" 
    Range("F" & LastRow + 1).Formula = "=SUM(F4:F" & LastRow & ")" 
    Range("G" & LastRow + 1).Formula = "=SUM(G4:G" & LastRow & ")" 
End Sub 

其中细胞E(E列)被锁定用密码。

+0

解锁片材上执行代码之前,然后再把锁定。 http://www.mrexcel.com/archive/VBA/7134.html –

回答

2

也许你可以这样来做:

Sub Get_Sum() 
    Dim LastRow As Long 
    Sheets("Sheetname").Unprotect Password:= "password" 
    LastRow = Range("B5000").End(xlUp).Row 
    Range("D" & LastRow + 1) = "Total Amount" 
    Range("E" & LastRow + 1).Formula = "=SUM(E4:E" & LastRow & ")" 
    Range("F" & LastRow + 1).Formula = "=SUM(F4:F" & LastRow & ")" 
    Range("G" & LastRow + 1).Formula = "=SUM(G4:G" & LastRow & ")" 
    Sheets("Sheetname").Protect Password:= "password" 
End Sub