可变范围并不断获取对象_worksheet的方法范围失败"

时间:2016-10-03 02:24:28

标签: excel vba excel-vba

我是VBA的新手,我知道有类似的问题,但我似乎无法找到答案。我只想拥有一个可变范围,允许宏在列表中逐个遍历所有值,但它一直给我同样的错误。另外,我想比较某个范围内的所有数字,并选择多于另一个值的第一个值(全部在同一行)。我不知道我是否做得对,代码在这里:

Option Explicit

Private Sub CommandButton1_Click()

Dim buysignal As Variant
Dim OHLC As Variant
Dim ffdhigh As Variant
Dim i As Long

Sheets("sheet2").Activate
Set buysignal = Range("M" & i).Value
OHLC = Range("B" & i & ":" & "E" & i).Value
ffdhigh = Range("I" & i).Value

For i = 63 To 150
If OHLC > ffdhigh Then
buysignal = "buy"
Else: buysignal = ""

End If
Next i

End Sub

错误消息:运行时错误' 1004':方法'范围'对象' _worksheet'失败

谢谢你们,任何意见都会非常感激。

1 个答案:

答案 0 :(得分:2)

您的变量i还没有值,您正在使用它来设置buysignal范围。因此,请将i设置为值。

接下来,同一行会抛出错误,因为您使用set来设置对象的值,但是您将其设置为单元格的值。这是一种类型不匹配。

在开始编码之前计划您想要做的事情。哦,不要使用变种。它要求你现在面临的那种麻烦。正确键入您的变量,然后您将立即捕获类型不匹配。