&引用;“所需对象”;尽管我';我已经在Excel VBA中设置了所有变量

&引用;“所需对象”;尽管我';我已经在Excel VBA中设置了所有变量,vba,excel,Vba,Excel,我已经设置了所有的变量,但仍然会在 这是我的代码: Sub hellohello() Dim i As Integer Dim OHLC, cll As Range Dim stoplossb, entrypriceb As Variant stoplossb = 1 entrypriceb = 1 i = 1 For i = 63 To 166 If Range("M" & i).Value = "buy" Then stoplossb = Range

我已经设置了所有的变量,但仍然会在

这是我的代码:

Sub hellohello()

Dim i As Integer
Dim OHLC, cll As Range
Dim stoplossb, entrypriceb As Variant

stoplossb = 1
entrypriceb = 1
i = 1


For i = 63 To 166

    If Range("M" & i).Value = "buy" Then
        stoplossb = Range("X" & i)
        entrypriceb = Range("w" & i)
        Set OHLC = Range("B" & i & ":" & "E10000")
       ' Set twndlow = Range("K" & i & ":" & "K10000")
    End If

    For Each cll In OHLC

        If cll.Value < stoplossb Then
            Range("Y" & cll.Row) = cll.Value
            Exit For
        End If

    Next cll
Next i

End Sub
Sub-hellohello()
作为整数的Dim i
Dim OHLC、cll As范围
Dim Stoplosb,entrypriceb作为变体
stoplosb=1
入口价格b=1
i=1
对于i=63到166
如果范围(“M”&i).Value=“购买”,则
stoplosb=范围(“X”和i)
entrypriceb=范围(“w”和i)
设置OHLC=范围(“B”&i&“:”和“E10000”)
'设置twndlow=范围(“K”&i&“:”和“K10000”)
如果结束
对于OHLC中的每个cll
如果cll.值

我的错误是什么?

在end if之前,在else语句中将OHLC设置为空范围

或者将for放在if块中

Sub hellohello()

Dim i As Integer
Dim OHLC, cll As Range
Dim stoplossb, entrypriceb As Variant

stoplossb = 1
entrypriceb = 1
i = 1


For i = 63 To 166

    If Range("M" & i).Value = "buy" Then
        stoplossb = Range("X" & i)
        entrypriceb = Range("w" & i)
        Set OHLC = Range("B" & i & ":" & "E10000")
       ' Set twndlow = Range("K" & i & ":" & "K10000")

        For Each cll In OHLC

            If cll.Value < stoplossb Then
                Range("Y" & cll.Row) = cll.Value
                Exit For
            End If

        Next cll

    End If

Next i

End Sub
Sub-hellohello()
作为整数的Dim i
Dim OHLC、cll As范围
Dim Stoplosb,entrypriceb作为变体
stoplosb=1
入口价格b=1
i=1
对于i=63到166
如果范围(“M”&i).Value=“购买”,则
stoplosb=范围(“X”和i)
entrypriceb=范围(“w”和i)
设置OHLC=范围(“B”&i&“:”和“E10000”)
'设置twndlow=范围(“K”&i&“:”和“K10000”)
对于OHLC中的每个cll
如果cll.值
在end if之前,在else语句中将OHLC设置为空范围

或者将for放在if块中

Sub hellohello()

Dim i As Integer
Dim OHLC, cll As Range
Dim stoplossb, entrypriceb As Variant

stoplossb = 1
entrypriceb = 1
i = 1


For i = 63 To 166

    If Range("M" & i).Value = "buy" Then
        stoplossb = Range("X" & i)
        entrypriceb = Range("w" & i)
        Set OHLC = Range("B" & i & ":" & "E10000")
       ' Set twndlow = Range("K" & i & ":" & "K10000")

        For Each cll In OHLC

            If cll.Value < stoplossb Then
                Range("Y" & cll.Row) = cll.Value
                Exit For
            End If

        Next cll

    End If

Next i

End Sub
Sub-hellohello()
作为整数的Dim i
Dim OHLC、cll As范围
Dim Stoplosb,entrypriceb作为变体
stoplosb=1
入口价格b=1
i=1
对于i=63到166
如果范围(“M”&i).Value=“购买”,则
stoplosb=范围(“X”和i)
entrypriceb=范围(“w”和i)
设置OHLC=范围(“B”&i&“:”和“E10000”)
'设置twndlow=范围(“K”&i&“:”和“K10000”)
对于OHLC中的每个cll
如果cll.值
出现错误的原因是IF语句不正确,因此永远无法到达将OHLC设置为范围的行。由于从未设置范围,因此范围等于零。

出现错误的原因是IF语句不正确,因此您永远无法到达将OHLC设置为范围的行。因为范围从未设置过,所以范围等于零。

Carlos说的是,你有一个从63到166的外循环,在这个循环中,你有一个IF语句,你可以决定是否设置OHLC,但是你有一个运行的内循环,不管是否在IF语句中设置了OHLC。。我认为你需要将末端向下移动到下一个cll之后,这样你的内部FOR循环只有在OHLC设置时才会运行Carlos说的是你有一个从63到166的外部循环,在该循环中,有一个IF语句,通过该语句可以决定是否设置OHLC,但有一个内部循环,无论是否在IF语句中设置了OHLC,该循环都会运行。。我认为您需要将端点向下移动到下一个cll之后,这样您的内部FOR循环只有在设置OHLC时才会运行(就像卡洛斯说的,击打负1并不能激励人们帮助你嗨,我尝试过这种方法,但它仍然显示出同样的错误!:(就像carlos说的,点击负1并不能激励人们帮助你是的,我知道他的意思,我尝试了两种方法,将else OHLC设置为空范围,但它不起作用,我没有说将其设置为空,这是其他人的评论。你已经有了一个空范围,因为你永远无法定义OHLC,因此你正在尝试使用它。)选择空白区域中的单元格。将灰线下方的
结束If
行移到
下一个cll
行之后,错误就会消失。你问为什么会出现错误,而不是为了完全重写。就像卡洛斯说的评级…是的,我知道你在说什么,我告诉你我刚刚试过,而且错误仍然存在。是的,我知道他的意思,我尝试了两种方法,将else OHLC设置为空范围,但不起作用。我没有说将其设置为空,这是其他人的评论。您已经有一个空范围,因为您永远无法定义OHLC,因此您正在尝试选择空范围中的单元格。请
End If
在灰线下方的行中结束,并将其移动到行
Next cll
之后,错误就会消失。你问自己为什么会出现错误,而不是为了完全重写。就像卡洛斯所说的评级……是的,我知道你在说什么,我告诉你我刚刚尝试过,错误仍然存在。我的朋友,我不知道我不认为如果你一直对我们的答案提出否定的观点,你会找到帮助。事实上,你的问题表示根本没有调查,只是粘贴代码并寻求帮助。我运行了我建议的修复程序,错误停止了。什么对我们的答案不起作用?谢谢大家和卡洛斯,现在它起作用了。我想我的问题中可能还有另一个错误之前的代码打断了它。很高兴知道它终于起作用了。请你放弃消极点,因为每个人都给了你一个很好的答案好吧,但我的声誉低于15,所以我不能直接放弃它,我也不知道消极点是否是我首先输入的。非常抱歉!再次感谢我的朋友我不瘦k如果你一直对我们的答案提出否定的观点,你会找到帮助。事实上,你的问题表示根本没有调查,只是粘贴代码并寻求帮助。我运行了我建议的修复程序,错误停止了。我们的答案有什么问题?谢谢大家和Carlos,现在可以了。我
Dim OHLC As Range, cll As Range