| 
    
     |  | ▼ichinose さん: ichinoseさんIROCさん、いつも有り難う御座います。
 お助け神さんのような気がします。
 納得いきました。問題は解決したのですが
 ついでと言っては何ですが、又必要ないことかも知れませんが
 手動で シート2の名前定義をシート1のみ有効にさせる方法は有るのでしょうか?つまりマクロで言えば  ActiveSheet.Names.Add "aaa", "=sheet2!$a$1"
 それと 名前定義ダイアログボックスで追加とOK釦はどう異なるのでしょうか?
 素人のつまらない質問に付き合わせてすみません。
 
 >▼hisao さん:
 >>有り難う御座いました。大いに助かりました。この場合名前boxには表示されないのですね。
 >やっぱり、私の解釈が違ってたみたいです。
 >
 >>ところで この様な質問をさせて頂いたのはマクロでAシートを選択した状態でsheets("B")のrange("A1")の名前を定義したところ、他のシート(BとかCシート)の名前boxには入って居らずBやCシートの選択状態では名前が有効にならず困ったことがありました。名前の変数宣言の仕方が悪かったのでしょうか。
 >
 >まず、VBAでの記述です。
 >新規ブックに以下のコードをコピーして実行してみて下さい。
 >'=============================================================
 >Sub test()
 >  ActiveSheet.Names.Add "aaa", "=$a$1"
 >  ThisWorkbook.Names.Add "bbb", "=$b$1"
 >End Sub
 >
 >実行後、「挿入」---「名前」---「定義」で作成された名前を確認して下さい。
 >
 >
 >次に特定シートでのみ使用可能(本当は、別シートでも参照できます)な名前定義
 >の手動操作です。
 >
 >再度、新規ブックを作成して下さい。
 >
 >1 Sheet1のセルB10を選択して下さい。この状態で
 > 、「挿入」---「名前」---「定義」をクリックして「名前の定義」ダイアログを表示
 > させます。
 >
 >2 参照範囲は、Sheet1!$B$10となっていますよね?
 >
 >3 名前には、「Sheet1!spnm」と指定して追加ボタンをクリックして下さい。
 >
 >これで登録完了です。
 >
 >Sheet2をアクティブにして下さい。
 >
 >適当なセルに「=sheet1!spnm」と入力して下さい。
 >ちゃんとspnmの内容は、表示されますよね?
 >
 >こういうことだったのではないですか?
 >
 >
 >>名前はobject変数でしょうかvaliantでしょうか。
 
 
 |  |