プロが教えるわが家の防犯対策術!

簡単なことで引っかかってしまいました。助けてください

A1のセルに数字が入っています。
A2のセルにA1の数字の行、3列目のセルに書いてあるものを表示したい。

A2のセルに =CELLS(A1,3).Value

のようなことをしたいのですが、マクロでは CELLS というものがありません。
なにか関数があると思うのですが、教えてください。

A 回答 (3件)

マクロなら



Range("A2") = Cells(Range("A1"), 3)

などで可能かと思います。

マクロを使わなくても、INDIRECT関数とADDRESS関数を組み合わせて

=INDIRECT(ADDRESS(A1,3))

という式をA2セルに入力すれば可能かと思います。
なお、A1セルに有効な行番号が入っていない場合は#VALUE!エラーを返しますので、その辺りは適宜エラー回避を組み込んでください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

このようにしました。
=IF(RC1=0,"",INDIRECT(ADDRESS(RC1,3)))

お礼日時:2012/05/09 10:11

追加



=OFFSET(A1,A1-1,2)

のようなやり方でも可能だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
なるほど、これでもできますね。

お礼日時:2012/05/09 10:14

何か勘違いされていませんか。


マクロ(VBA)にCellsは存在します。

一例です。
Cells(2,"A") = Cells(Cells(1,"A"),"C")

この回答への補足

すいません、私がしたいのは、VBAでなくワークシートのマクロに埋め込みたいのです。
VBAのCELLSに相当するワークシート関数はないか、という質問です。

補足日時:2012/05/09 09:51
    • good
    • 0

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