[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『averageに変数』(TA)
はじめまして。VBA初心者です。
データ群の2つ下に平均値を出そうと思い、
マクロの自動登録をしたところ
Range("G31").Select ActiveCell.FormulaR1C1 = "=AVERAGE(R[-28]C:R[-2]C)"
となりました。
このR[-28]のところを変数にしたいのですが、
どのようにすればよいのでしょうか?
Dim k As Integer k = Range("A1").Value + 1 ActiveCell.FormulaR1C1 = "=AVERAGE(R[-k]C:R[-2]C)"
と作ってみたのですが、ダメでした。
アドバイスをお願いします。
> ActiveCell.FormulaR1C1 = "=AVERAGE(R[-k]C:R[-2]C)" ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & k * -1 & "]C:R[-2]C)" ということでしょうか? (ROUGE)
ところで、
Range("G31").Formula = "=AVERAGE(G3:G29)" ~~ このG3の 3 を変数にしたのであれば、上記アプローチではNGです。
(ROUGE)
おっと、ROUGEさんと衝突して仕舞いましたが・・・。
でも良い様に思います。 "=AVERAGE(R[-" & k & "]C:R[-2]C)" ~~~~~~~~~
因みに >データ群の2つ下 と言う事ですので、このアプローチで良い様に思います。
(HANA)
ん?R1C1参照形式はσ(^-^;)には分かりにくい。。。orz
変数 k に入る数値の設定の仕方があまりピンとこないもので。。。
(ROUGE)
&が足りなかったのですね。勉強不足でした。 更に自分で勉強して使いこなしてみたいと思います。
ん・・・・AVERAGEの式はそれでいいと思うけど、 それを入れるセルが G31 固定になるんじゃなかろうか・・・ >データ群の2つ下 と言う事は、G31 を変数にしないとだめなようだけど・・ (A/H)
う〜ん・・・? 1.データ群の2つ下のセルをアクティブにする。 2.マクロを実行する。 3.同じ列の、A1に入れた数−1上がった行から、2つ上の行までの間での 平均を返す。 と言う事ですよね?
もしかして、A1には「何行目から」と言う形で 入れるのですかね。
でしたら、ROUGEさんが書いて居られる通り 「上記アプローチではNG」ですね・・・・。
今更ですが・・・・ A1セルには、どちらで指定して有るのですかね?
○行目の一つ下の行から と指定して有るのか アクティブセルから数えて○行上の一つ下の行 (○−1行分の平均)と指定して有るのか・・・。
現在のコードでは「○−1行分の平均」が出ますね。
(HANA)
まずG31ですが、実際には変数を指定してあります。 そこはうまくいったので、省略して載せました。 次にA1ですが、データの数をcountで表してあります。 つまり、「○行目までデータがある」という数です。
またわからないところが出たら質問させていただきますので、 どうぞよろしくお願いします。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.