伙计们,我对使用vba比较细胞与细胞的渗透力有一些疑问
这是我的代码:
dim ws as worksheet
dim LastRow as long
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "test1" And ws.Name <> "test2" Then
LastRow = ws.Cells(Rows.Count, "A").End(xlUp).Row
For i = 3 To LastRow
If ws.Range("M" & i).Value = 0 Then '<---here it give me error
ws.Range("M" & i).Locked = True
End If
Next i
End If
Next ws
在我的Excel的M列中,从M3开始的整个列都是百分比格式类型。
我想确定单元格是否为0%(假设range(“ M5”)为0%),我想检查格式保护以锁定单元格,最后我将执行保护工作表。
但是我已经测试了许多代码,例如:
ws.Range("M" & i).Value = 0
ws.Range("M" & i) = 0
ws.Range("M" & i).Value = "0"
ws.Range("M" & i) = "0%"
它仍然给我输入类型不匹配错误,所以有人告诉我这个问题吗?
答案 0 :(得分:0)
尝试首先在单元格上添加一些错误检查:
For i = 3 To LastRow
If Not IsError(ws.Range("M" & i)) Then
If ws.Range("M" & i).Value = 0 Then
ws.Range("M" & i).Locked = True
End If
End If
Next i