アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルに取り込まれた測定データを解析する必要性に迫られて、マクロに取り組んでみましたが、やはり、プログラムは正しく動いてくれません。解決策を宜しくご教授ください。
(動かないプログラム)
Dim i as integer
Dim k as double
For i=0 to b24-2
   k=cells(b24-i,9)*cells(b24-i-1,9)
   If k>=0 then i=i Else Exit for
Next i
Range("B25")=i
End Sub
(やりたいこと)
9列目(I列)の1行目から下へ2500行まで実数データが入っています。
B24番セルに入力された整数値に相当する行数にあるI列の実数データとそのひとつ上の行にある実数データとを掛け算して積が正の値であれば、変数iを一つ進めて、次に、ひとつ上の行の実数データと更にその一つ上にある実数データとの積が正の値かどうかを判定します。このようにして、順番に上の行の実数データとの積を見てゆき、積の値が負になったら、その時のiの値をB25番セルに記入させるーーーという処理を意図しています。上記プログラムではB25番セルに0という結果しか入らず、正しい答えが得られません。Microsoft Excel2010を使用しています。

不勉強のまま質問してしまい、申し訳ありませんが、宜しくお願いいたします。

A 回答 (1件)

「b24」は、もしかして「B24」セルのつもりでしょうか?


それでしたら「b24」を「Range("B24")」にすべて変えてみてください。
    • good
    • 1
この回答へのお礼

GooUserさん

早速ご回答頂きありがとうございます。
アドバイス通り、全ての「b24」を「Range(”B24”)」に置き換えたところ、即座に正しい答えが得られました。急ぎながらも迷路の中で悶々としていたところ、なんと10分で解決でき感謝に堪えません。本当にありがとうございました。

お礼日時:2017/11/15 22:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!