2016-07-26 12 views
1

スプレッドシートADAに準拠させるために範囲名を追加しようとしています。私は以下のコードを試しました。excel vba、ADA準拠の範囲名を追加

ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersToR1C1:=("Sheet1!R1C1:R" & LastRow - 35 & "C1") 
    ActiveWorkbook.Names("On_Draft_List_D").Comment = "" 

エントリは名前マネージャに表示されますが、スプレッドシートの名前ボックスには表示されません。私はインターネット検索でうまくいっておらず、誰かが私を正しい方向に向けることを望んでいました。私はあなたが私に与えることができるどんな助けにも感謝します。

+0

セル名が配置されているドロップダウンメニューには表示されません? – Rabbitman14

+0

RefersToR1C1が正しい範囲を参照しています – vanathaiyan

答えて

1

あなたのR1C1の参照は無効と思われます。そのため、表示されません。私はあなたのコードをテストし、同じ問題がありました。範囲を明示的に設定すると、次のようになります。

Dim cell As Range 
Set cell = Range("A1:B3") 
ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersTo:=cell 
ActiveWorkbook.Names("On_Draft_List_D").Comment = "" 

RefersTo引数はおそらく使いやすく、.Add呼び出しの範囲外に設定すると、正しい範囲を選択しやすくなります

+0

同じコードが異なる長さの複数のワークシートで実行されるため、R1C1参照をそのようにセットアップしました。各シートの一番下には、独自の範囲名を持つ脚注があります。そのため、私はLastRow - 35を使用しました。あなたが提案して戻ってくる範囲を変数に設定しようとします。 – rstuart931

+0

あなたはLastRow-35の部分を使用することができます。ちょうどA1:C "&(LastRow-35)'のようなことをして、 "A"、 "C"、 "1"必要に応じて – Rabbitman14

+0

はうまくいった!ありがとう、本当にありがとう! – rstuart931

関連する問題