- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Range.Name プロパティの使い方)
Range.Name プロパティの使い方
このQ&Aのポイント
- VBAでのRange.Nameプロパティの使い方を教えてください。
- Range.Nameプロパティの使い方が分からず、アプリケーション定義またはオブジェクト定義のエラーが発生しています。
- Range.Valueプロパティではうまくいくが、Range.Nameプロパティの使い方が分からないので教えてほしいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A1に名前が定義されているとき、Range("A1").Nameは何を返すか? Sheet1!$A$1 で、本当の名前は、 Range("A1").Name.Name ウソみたいですね!? 名前が定義されていれば1も2も同じ。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.1
対象のセルに、数式タブの名前の定義で名前が付けられている場合に限り、range.nameは成功します。 そうでなければヘルプの文字通り「オブジェクトの名前」がそもそも付けられていないので、失敗します。 valueはどのセルにも最初からあるので、常に成功します。
質問者
お礼
なるほど。 名前の定義をしてあるセルが必要のようですね。 A1にtestと言う名前を定義して、 Sub test1() MsgBox Range("a1").Name End Sub をしたら、 あ=Sheet1!$A$1 が返ってきました。 使い方がわかってすっきりしました。 ありがとうございました。
お礼
確かに名前を返したいのに「Sheet1!$A$1」ってなんだよ!って思いました。