Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12735 / 13646 ツリー ←次へ | 前へ→

【8938】LINEST関数を使ったコードの書き方 しろ 03/11/11(火) 11:36 質問
【8941】Re:LINEST関数を使ったコードの書き方 ちゃっぴ 03/11/11(火) 13:17 回答
【8943】Re:LINEST関数を使ったコードの書き方 しろ 03/11/11(火) 14:18 お礼

【8938】LINEST関数を使ったコードの書き方
質問  しろ  - 03/11/11(火) 11:36 -

引用なし
パスワード
   セル範囲A1:K20にデータを入力しています。
近似式をワークシート関数「linest」を使って求めたいと思っています。
データ数が固定している場合は大丈夫なのですが、データの最終行が変動する場合、どんなコードを記述すればよいのでしょうか。

上記の固定データでセル範囲M1:W1にマクロを書いてみると・・・
Range("M1:W1").Select
  Selection.FormulaArray = _
    "=LINEST(RC[-12]:R[19]C[-12],RC[-11]:R[19]C[-2],TRUE,TRUE)"
となっていてこれ手を加えればいいのでしょうが、うまくいきません。

どうぞよろしくお願いします。

  

【8941】Re:LINEST関数を使ったコードの書き方
回答  ちゃっぴ E-MAIL  - 03/11/11(火) 13:17 -

引用なし
パスワード
   Linest関数についてはよくわかりませんが・・・

最終行を入力する箇所を変数を用いて書けばいいのではないでしょうか

最終行以降がNull値なら最終行は
lngLast_Row = Range("A1").End(XlDown).Rowで取得できます。

"=LINEST(RC[-12]:R[19]C[-12],RC[-11]:R[19]C[-2],TRUE,TRUE)"

→ "=LINEST(RC[-12]:R[" & lngLast_Row & "]C[-12],RC[-11]:R[" _
   & lngLast_Row & "]C[-2],TRUE,TRUE)"

lngLast_Row:最終行(LONG)
これでできるかな?

【8943】Re:LINEST関数を使ったコードの書き方
お礼  しろ  - 03/11/11(火) 14:18 -

引用なし
パスワード
   ちゃっぴ さんへ
>→ "=LINEST(RC[-12]:R[" & lngLast_Row & "]C[-12],RC[-11]:R[" _
>   & lngLast_Row & "]C[-2],TRUE,TRUE)"

できました!
変数にするところまではできていたのですが、
「”&」を使えばよかったのですね。後から思えば簡単なことなのに・・・
勉強不足です。
ていねいに答えてくださってありがとうございました。

12735 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free