将命名范围与单元格值进行比较

Comparing named range against a cell value

我将尝试创建一个包含 If 语句的宏。但是我收到错误消息

Sub or Function not defined

使用了以下代码。

Sub whatif()

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

End Sub

我发现问题是行

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

目标如下。 如果单元格 "memory" 的值等于单元格 "data" 的值。工作表 "Side" 的单元格 B1 获得值 "yes"。

注释掉其他行时仍然报错。需要调整什么?

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

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

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

阅读有关此错误的更多信息,请访问 https://msdn.microsoft.com/en-us/library/s8y42ktc.aspx

您没有正确地为集合编制索引。使用

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

注意复数。

谢谢,我找到了另一个错误。忘记输入 Range("data"),

子 whatif()

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

结束子