我想问一下,如果在这个 Range("D2:D500") 中输入了“Denied”这个词,那么它所在行之后的值不能只在 E 列中输入。
只要“拒绝”字词进入 D 列,仅下方 E 列的单元格无权输入任何值,否则用户可以在 A、B、C 列输入值和 D 只。如果用户在 E 列中输入值,则显示消息“您不允许”并清除该单元格的内容。
对于同一行,我使用的以下代码如下:
' 列 D 的此代码,用于清除同一行中的数据
If rngTarg Is Nothing Then GoTo ExitHandler
For Each rngToChk In rngTarg
Select Case rngToChk.Value
Case "Denied"
rngToChk.Offset(0,-1).ClearContents
rngToChk.Offset(0,-2).ClearContents
rngToChk.Offset(0,1).ClearContents
rngToChk.Offset(0,2).ClearContents
End Select
Next rngToChk
' this code for Column E which will help to user that it won’t have access to enter data in the same row
For Each cell In rngTarg
If cell.Offset(0,-1) = "Denied" Then
cell.Select
MsgBox Excel.Application.username & ",As you enter <" & cell.Offset(0,-1) & "> in Column D" _
& vbNewLine & "That is why you cannot enter Value.",vbokOnly + vbInformation,"Information"
cell.ClearContents
cell.Offset(1,0).Select
GoTo ExitHandler
End If
Next cell
我希望它有助于理解我的查询。
感谢与问候
穆尼布