何歳が一番楽しかった?

以下の計算の中で指数に変数を使用したいのですが、どのような方法をとればよいでしょうか。
以下は見よう見まねで書いたコードですがエラーが出ます。


'formulaの計算に変数を入れる

N_row=3
N_col=4
D_row=3
D_col=8
a=8

'ここでのaの扱いを教えてください
range(cells(*****),cells(*****)).formula="=cells(N_row,N_col)*cells(D_row,D_col)^&"a"&"

質問者からの補足コメント

  • >>=cells(N_row,N_col)

    って式が入って、関数なり名前なり定義しとかなきゃ#NAME?のエラーになるけど、それでいいんでしょうか?

    ***************************************************************

    N_row=3
    N_col=4
    D_row=3
    D_col=8
    a=8

    としているので、
    cells(N_row,N_col)は、cells(3,4)
    となっていると思います。
    名前の定義とはどういったことを指すのでしょうか。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/12/26 23:46

A 回答 (2件)

> ~


> としているので、
> cells(N_row,N_col)は、cells(3,4)
> となっていると思います。

いや、ならないです。
やってみれば分かりますが。


a=3
Msgbox "This is an apple."
で、「This is 3n 3pple.」とかって表示されたら邪魔くさいでしょう。

--
補足みたいにしたいなら、

~.formula="=cells(" & N_row & "," & N_col & ")*cells(" & D_row & "," & D_col & ")^" & a

と、変数をダブルクォートの外に括り出します。

--
> 名前の定義とはどういったことを指すのでしょうか。

セルに
=cells(N_row,N_col)

って入れたら普通はエラーになります。
が、例えば、cells(r1 as Range, r2 as Range)という関数と、ワークシートでN_rowとN_colって適当な範囲の名前を定義しとけばエラーにはなりません。
ですが、それが質問者さんのしたい事なの?って話です。
    • good
    • 1

> 'ここでのaの扱いを教えてください



a以前に、
質問文の式の途中まで、

range(cells(*****),cells(*****)).formula="=cells(N_row,N_col)"

までの式にしたとして、ワークシートの指定した範囲には、

=cells(N_row,N_col)

って式が入って、関数なり名前なり定義しとかなきゃ#NAME?のエラーになるけど、それでいいんでしょうか?

--
結果的に、a=8のときにワークシートに、

=cells(N_row,N_col)*cells(D_row,D_col)^8

の式が入って欲しいのなら、

range(cells(*****),cells(*****)).formula="=cells(N_row,N_col)*cells(D_row,D_col)^" & a

で良いハズ。
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報