• ベストアンサー

エクセルマクロで対応するセルの値を表示したい

簡単なことで引っかかってしまいました。助けてください A1のセルに数字が入っています。 A2のセルにA1の数字の行、3列目のセルに書いてあるものを表示したい。 A2のセルに =CELLS(A1,3).Value のようなことをしたいのですが、マクロでは CELLS というものがありません。 なにか関数があると思うのですが、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.2

マクロなら Range("A2") = Cells(Range("A1"), 3) などで可能かと思います。 マクロを使わなくても、INDIRECT関数とADDRESS関数を組み合わせて =INDIRECT(ADDRESS(A1,3)) という式をA2セルに入力すれば可能かと思います。 なお、A1セルに有効な行番号が入っていない場合は#VALUE!エラーを返しますので、その辺りは適宜エラー回避を組み込んでください。

NNori
質問者

お礼

ありがとうございます。 このようにしました。 =IF(RC1=0,"",INDIRECT(ADDRESS(RC1,3)))

その他の回答 (2)

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

追加 =OFFSET(A1,A1-1,2) のようなやり方でも可能だと思います。

NNori
質問者

お礼

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

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

何か勘違いされていませんか。 マクロ(VBA)にCellsは存在します。 一例です。 Cells(2,"A") = Cells(Cells(1,"A"),"C")

NNori
質問者

補足

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