这是我的代码
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。为什么这样做以及如何解决?
答案 0 :(得分:1)
之所以这样做是因为您说的是:
[F4] = MsgBox("add values")
...表示将范围F4
设置为MsgBox
的值。 MsgBox
返回vbOk
(对应于1的枚举值),该值设置为1。
您只需要编写:
MsgBox("add values")
答案 1 :(得分:0)
不要将范围[F4]等同于您的消息框,这就是为什么它采用返回值
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
答案 2 :(得分:0)
请尝试以下代码:
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
任何问题或疑虑,请随时让我知道。期待您的回音。