如果语句编译错误

时间:2015-03-04 09:55:53

标签: excel-vba if-statement excel-2010 vba excel

我将尝试使用其中的If语句创建一个宏。但我收到错误消息

  

Sub或Function not defined

使用以下代码。

Sub whatif()

    If Range("memory") = "data" Then 
Worksheet("Side").Range("B1") = "yes"
    End If

End Sub

我发现问题是行

Worksheet("Side").Range("B1") = "yes"

目标如下。 如果cell" memory"的值等于cell" data"的值。纸张的单元格B1" Side"获得价值"是"。

在评论其他行时,它仍然会出错。需要调整什么?

编辑:它不再发出错误,但不是我想要它做的事情。

3 个答案:

答案 0 :(得分:0)

Worksheet("Side").Range("B1")更改为Worksheets("Side").Range("B1")

如果错误仍然存​​在,请检查子名称是否与模块名称不同,并且您在另一个子组件中没有使用相同的名称,因为这会导致定义错误。

详细了解此错误 https://msdn.microsoft.com/en-us/library/s8y42ktc.aspx

答案 1 :(得分:0)

您没有正确索引集合。使用

Worksheets("Side").Range("B1") = "yes"

请注意复数。

答案 2 :(得分:0)

谢谢,我设法找到了另一个错误。忘了键入Range(“data”),

Sub whatif()

If Range("memory") = Range("data") Then
    Worksheets("Side").Range("B1").Value = 20
End If

End Sub