• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Range.Name プロパティの使い方)

Range.Name プロパティの使い方

このQ&Aのポイント
  • VBAでのRange.Nameプロパティの使い方を教えてください。
  • Range.Nameプロパティの使い方が分からず、アプリケーション定義またはオブジェクト定義のエラーが発生しています。
  • Range.Valueプロパティではうまくいくが、Range.Nameプロパティの使い方が分からないので教えてほしいです。

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

  • ベストアンサー
回答No.2

A1に名前が定義されているとき、Range("A1").Nameは何を返すか? Sheet1!$A$1 で、本当の名前は、 Range("A1").Name.Name ウソみたいですね!? 名前が定義されていれば1も2も同じ。

fwse23a
質問者

お礼

確かに名前を返したいのに「Sheet1!$A$1」ってなんだよ!って思いました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

対象のセルに、数式タブの名前の定義で名前が付けられている場合に限り、range.nameは成功します。 そうでなければヘルプの文字通り「オブジェクトの名前」がそもそも付けられていないので、失敗します。 valueはどのセルにも最初からあるので、常に成功します。

fwse23a
質問者

お礼

なるほど。 名前の定義をしてあるセルが必要のようですね。 A1にtestと言う名前を定義して、 Sub test1() MsgBox Range("a1").Name End Sub をしたら、 あ=Sheet1!$A$1 が返ってきました。 使い方がわかってすっきりしました。 ありがとうございました。

関連するQ&A