- ベストアンサー
エクセルマクロで対応するセルの値を表示したい
簡単なことで引っかかってしまいました。助けてください A1のセルに数字が入っています。 A2のセルにA1の数字の行、3列目のセルに書いてあるものを表示したい。 A2のセルに =CELLS(A1,3).Value のようなことをしたいのですが、マクロでは CELLS というものがありません。 なにか関数があると思うのですが、教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロなら Range("A2") = Cells(Range("A1"), 3) などで可能かと思います。 マクロを使わなくても、INDIRECT関数とADDRESS関数を組み合わせて =INDIRECT(ADDRESS(A1,3)) という式をA2セルに入力すれば可能かと思います。 なお、A1セルに有効な行番号が入っていない場合は#VALUE!エラーを返しますので、その辺りは適宜エラー回避を組み込んでください。
その他の回答 (2)
- don9don9
- ベストアンサー率47% (299/624)
回答No.3
追加 =OFFSET(A1,A1-1,2) のようなやり方でも可能だと思います。
質問者
お礼
ありがとうございます。 なるほど、これでもできますね。
- mu2011
- ベストアンサー率38% (1910/4994)
回答No.1
何か勘違いされていませんか。 マクロ(VBA)にCellsは存在します。 一例です。 Cells(2,"A") = Cells(Cells(1,"A"),"C")
質問者
補足
すいません、私がしたいのは、VBAでなくワークシートのマクロに埋め込みたいのです。 VBAのCELLSに相当するワークシート関数はないか、という質問です。
お礼
ありがとうございます。 このようにしました。 =IF(RC1=0,"",INDIRECT(ADDRESS(RC1,3)))