这是我的代码
Sub errors()
Dim wsd As Worksheet
Set wsd = Worksheets("Sheet1")
With Forc
If Len([F4]) <> 4 Then
[F4] = MsgBox("add values")
End If
End With
End Sub
我的代码读取如果在单元格F4中,如果位数不是4则显示错误消息。错误消息显示正常,但当我在消息框中按“确定”时,F4中的值更改为1.我不希望它更改为1.为什么这样做,我该如何解决?
请尝试以下代码:
Sub errors()
Dim wsd As Worksheet
Set wsd = Worksheets("Sheet1")
With Forc
If Len([F4]) <> 4 Then
MsgBox ("add values")
End If
End With
End Sub
如有任何问题或疑虑,请随时告诉我。期待您的回音。
它这样做是因为你说:
[F4] = MsgBox("add values")
...意思设置等于范围F4
MsgBox
的值。 MsgBox
返回vbOk
(枚举值对应于1),该值设置为1。
你只需要写:
MsgBox("add values")
不要将范围[F4]设置为您的消息Box,这就是它获取返回值的原因
Sub errors()
Dim wsd As Worksheet
Set wsd = Worksheets("Sheet1")
With Forc
If Len([F4]) <> 4 Then
MsgBox("add values")
End If
End With
End Sub