VBA-检查文字或数字

时间:2018-08-08 04:22:33

标签: excel vba

我正在创建一个电子表格,用户将使用数据/文本填充特定的单元格。

整个工作表将被锁定,以防止更改内容。

我希望作为第一个单元格B4始终被解锁并输入数据,然后解锁单元格B5进行数据输入。这将继续用于更多单元格。

这是我到目前为止所做的.....

Private Sub Worksheet_Change(ByVal Target As Range) 

    If IsNumeric(Range("B4:F4")) = True Then 
        Range("B5").Locked = False 
    End If 

End Sub

1 个答案:

答案 0 :(得分:0)

所以...我试图帮助您。

Private Sub Worksheet_Change(ByVal target As Range)
Const inputrange As String = "B4:F4"
Const lockrange As String = "B5:F5"
Const lockedworksheet As String = "Tabelle2"

Set insect = Application.Intersect(target, Range(lockrange))
If Not (insect Is Nothing) Then Exit Sub
Worksheets(lockedworksheet).Unprotect
Range(inputrange).Locked = False
Range(lockrange).Locked = True
For Each cell In Range(inputrange)
    If IsNumeric(cell.Value) And cell.Value <> 0 Then _
        Cells(cell.Row + 1, cell.Column).Locked = False Else _
            Cells(cell.Row + 1, cell.Column).Value = ""
Next cell
Worksheets(lockedworksheet).Protect
End Sub

如果您需要解释,请问。