• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数の引数でrangeを指定したとき)

関数の引数でrangeを指定した場合の正しい値の取得方法とは?

このQ&Aのポイント
  • 関数では、Rangeオブジェクトを引数として指定することで、指定された範囲内に特定の値がいくつ含まれているかを返すことができます。
  • しかし、引数のアドレスを取得する場合、y.Addressとする必要があります。yとしてrange(y)を指定しても正しい値を返しません。
  • 同様の問題が、サブプロシージャの場合でも発生します。セル範囲を指定するためのInputBoxで得られる値は、Rangeオブジェクトとして取得されます。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>yのアドレス取得せずにfor each a in range(y)としても正しい値を返してくれません。 for each a in y が正しいでしょう。 y はRange オブジェクトなので、改めてRange()に入れる必要はありません。 >set dat = application.inputbox() application.inputbox() の戻り値(値の取得方法)として、セル情報(Range)を取得する事が可能です。 そのような指定がしてあれば、選択されたセル(範囲)の情報を入れる事が可能です。

backs
質問者

お礼

早速の回答ありがとうございました。 なるほど,yはRangeオブジェクトだったからRange(y)とした場合に不具合が起きてしまったのですね。納得いきました。