可变范围并不断获得"method range of object _worksheet failed"



我是新的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'的方法'Range'失败

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

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

在开始编码之前计划好你想要做的事情。对了,别什么都用变体。你现在面临的这种麻烦是自找的。正确键入变量,那么您将立即捕获类型不匹配。

相关内容

最新更新