|
▼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でしょうか。
|
|