2016-10-11 20 views
1

Excelですべての変数を設定しているのにエラーが、私はすべての変数を設定しましたが、私はまだは、私はVBA

For Each cll In OHLC 

で「オブジェクト必要」エラーを得続ける「オブジェクトが必要」これが私のコードです:

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 

私のエラーは何ですか?

答えて

0

終了する前にOHLCをelse文の空のRangeに設定します。

またはあなたの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 
+0

なしにそれらの作業を設定した場合にループFORあなたの内でのみ実行されるような方法が必要だと思います – jadeliew123

+0

まあ私の友人私たちの答えに否定的な点を置いておくなら、あなたが助けを見つけるとは思わない。私はあなたの質問が実際にコードを貼り付けて助けを求めるだけの調査をしていないことを示しています。 –

+0

私が提案した修正プログラムを実行し、エラーが発生しなくなりました。私たちの答えではうまくいかないのですか? –

0

場合は、エラーを取得している理由があるの内側のために置くには、したがって、あなたは範囲としてOHLCを設定する行を取得することはありません。範囲が決して決まらないので、範囲は何もない。

+0

はい、私は彼が何を意味したのか知っていて、私は両方の方法を試しましたが、OHLCを空の範囲に設定しましたが、うまくいかなかった – jadeliew123

+0

私はそれを空に設定するとは言いませんでした。 OHLCを定義することは決してできないため、既に空の範囲があるため、空の範囲でセルを選択しようとしています。灰色で表示された行の下にある 'End If'行を取り出し、' Next cll'行の後ろに移動して、エラーがなくなります。なぜあなたは完全な書き換えのためではなく、エラーがあるのか​​尋ねました。カルロスが評価について言ったように... –

+0

はい私はあなたが言っていることを知っていて、私はちょうどそれを試したことを伝えて、そしてエラーはまだそこにあります。 – jadeliew123

0

カルロスが言っているのは、63から166までの外側ループがあるということです。そのループの中には、OHLCを設定するかどうかを決めるIF文がありますが、 OHLCは、IF文で設定されたかどうか..私はあなたがダウンした場合は直後の次CLLに終止符を移動するためにOHLCが

+0

こんにちは、私はこのメソッドを試して、それはまだ同じエラーを示しています! : – jadeliew123

+0

カロスのように、負の数値を1つ打っても、人々があなたを助けてくれない – lllpratll