Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Home Premium : Excel 2010)
マクロでセルに名前を定義する
投稿日時: 18/04/23 06:25:46
投稿者: NTイガラシめーる

初めて質問します。
 
 マクロで現在選択しているセルに名前を定義したいのですが、
 セルの番地を具体的に指定しないとできないのでしょうか?

回答
投稿日時: 18/04/23 08:21:33
投稿者: mattuwan44

まずは、「マクロの記録」を試してみてください。
 
そして、選択するセルを変えて記録されたコードを実行してみてください。
 
そうやって、自分で意味やルールを探る方法を身に着けることが、
マクロを覚えるには必要だと思います。
 
参考URL>>
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_020.html
http://www.ken3.org/vba/excel-help.html

回答
投稿日時: 18/04/23 17:09:40
投稿者: WinArrow
投稿者のウェブサイトに移動

NTイガラシめーる さんの引用:
初めて質問します。
 
 マクロで現在選択しているセルに名前を定義したいのですが、
 セルの番地を具体的に指定しないとできないのでしょうか?

 
 
名前定義には、
 最低限、2つのプロパティが必要です。
  
 (1)名前
  名前設定の「名前」です。
  名前つけには、条件があります。
  試しに、セルのアドレスと同じ名前を指定してみてください。
  実行時エラーとなり、条件が表示されるので、参考にしてください。
  
 (2)参照範囲
  当該の名前でどこのセル(範囲も可能)を参照するかという指定です。
  
もう一つ、範囲
ブックレベル(ブックで一意)とするか、
シートレベル(シートで一意)とするか
 の指定です。
それによって
object.Names.Add
で、objectに対象とするオブジェクトを指定します。
 特にブックレベルで定義する場合は、
 参照範囲にシート名で修飾したセルアドレスが必要です。
  
   
参考例
 単独セルであるという条件で、アクティブセルの「値」を名前にしています。
  
     With Activeworkbook
         .Names.Add Name:=ActiveCell.Value, RefersTo:="=" & ActiveCell.Parent.Name & "!" & ActiveCell.Address
     End With
 
ブックレベルとシートレベルで同一名を定義できますが、
使用する際、混乱するので、極力、同名の名前は定義しない方がよいです。
但し、同名の名前が定義されていた場合、シートレベルが優先されます。
 

トピックに返信