2016-07-21 18 views
-1

このコードは、 "OverExtensions"で "Yes"を検索するためのもので、新しい範囲を作成して新しい範囲の最大値を決定します。何らかの理由で、コードのロジックは問題ないようですが、私は空の結果を得て、私が間違っていた場所についてのコミュニティのインプットが大好きです。LOOPおよびネストされたif文が機能しない

Private Sub CommandButton1_Click() 
Dim maximum As Double, OverExtension As Range, x As Range 

Cells.Interior.ColorIndex = 0 
Set OverExtension = Range("D2:D12") 
maximum = WorksheetFunction.Max(Range("c2:c12")) 

For Each x In OverExtension 
    If x.Value = Yes Then 
     If x.Offset(0, -1).Value = maximum Then 
     x.Cells.Interior.ColorIndex = 22 
     End If 
    End If 
Next x 

End Sub 
+0

コンパイルエラーはどうしたらいいですか? –

+0

'if'と' for'ブロックに関する 'Fratyx'点だけでなく、' OEYES = Union(OEYes、OEResult) 'の設定は、' OEYES'と 'OEResult'が定義されていないので奇妙です –

+1

これは絶対に役に立たない*私はあなたが得る特定のエラー**とあなたがそれを得る行を含めずに、コンパイラエラー*を取得します。あなたは画面上のあなたの前にその情報を持っているので、あなたの質問にそれを含めることができない理由はまったくありません。 **あなたの問題を解決するための**無料のヘルプ**を求めています。少なくともあなたができることは、目の前にある適切な情報を私たちに与えて、あなたにその助けを与えることです。 –

答えて

1

あなたは間違った方法でifforブロックをネストされました。

End IfNext PriceNoNext OEResultの間に置く必要があります。

更新:

は、あなただけの1 End If必要です。最初の1つは、IfThenが1行にあるため、間違っています。

OEYesOEResultの変数は、定義されていても初期化されていないだけでなく、あなたの意図もわからないため、解決方法もわかりません。

+0

fratyx、OEYesとOEResultをRangeとして宣言しました。私の意図は、OEResult.value = "Yes"であれば、すべての "Yes"値が新しい範囲 "OE​​Yes"に格納される新しい範囲が定義され、 "OEYes"の最大値が見つかる。 –

+0

OEYes = Union(OEYes、OEResult) 'OEYes'と' OEResult'変数には値がありません。変数に値を代入する必要があります( 'Set OEResult = ???')**の前に、 '= '演算子の右側でそれを使うことができます。 – Fratyx

+0

ちょっと@Fratyx、私は非常にシンプルでクリーンな探しているコードに私の最初の投稿を編集しました、何らかの理由で、ロジックは問題ないようですが、私はまだ空の結果を得ています。 –

関連する問題