2016-09-23 3 views
0

ワークシートの値で除算し、変数h内に配置しようとしています。私のワークシートはwsで設定されています。コードは次のとおりです。ワークシートの値を除算する

h = (ws.Range("O" & y).Value2 - ws.Range("S" & y).Value2)/ws.Range("S" & y).Value2 

問題はws.Range("S" & y).value2であるようです。奇妙なのは、私が代入するとSからOに戻ります。それは私がすべての0を返すように分割するときだけです - 期待されていません。ディビジョンに関して何かユニークなものがあるのでしょうか、あるいはワークシート上の私のデータと何か関係がありますか?

+0

あなたが来るテスト値を提供してもらえますか? –

+1

入力とは何ですか?Dim h as ...というステートメントはどこにありますか? –

+0

O = 32650とS = 36731 – Chris2015

答えて

2

あなたのコードでは、私の作品:

Sub qwerty() 
    Dim y As Long, h As Double, ws As Worksheet 

    Set ws = ActiveSheet 
    y = 3 
    h = (ws.Range("O" & y).Value2 - ws.Range("S" & y).Value2)/ws.Range("S" & y).Value2 
    MsgBox h 
End Sub 

enter image description here

+0

なぜ '変形 'ですか?バリアントの使用は、他の基本データ型を使用するよりも時間がかかります。あなたがわからないときだけ、 'Variants'を使用してください。 –

+1

@SiddharthRout良い点.....私はそれを修正します。 –

+0

@SiddharthRout ...........完了! –

関連する問題