2016-10-31 24 views
-2

次のコードは正常に動作しますが、期待どおりに動作しません。範囲をテーブルに変えて名前を変更しましたが、ループには入りません。私はテーブルにそれを回すことなく別の名前付き範囲を追加し、それは動作します。名前付き範囲の名前の一覧表示

Option Explicit 

Sub GetNamesFromNamedRanges() 

Dim MyName As Name 

For Each MyName In ActiveWorkbook.Names 
    Debug.Print MyName.Name, MyName.RefersTo 
Next MyName 

End Sub 

UPDATE

私は私が間違って行っていたものを実現しています。予想される結果が得られなかったのは、名前のマネージャーでテーブルの名前を変更したためですが、まだ新しい名前のテーブルのままでした。したがって、For Each MyName In ActiveWorkbook.Namesはそれを印刷しませんでした。ネーム・マネージャー以外に新しい名前に変更したとき、それは期待どおりに機能しました。スキップが指摘するように、コードが作業を行う

+0

新しいシートを開き、名前マネージャーを使って名前付きの名前を付けました。そのコードは正常に動作します。これは、範囲を強調表示してセル参照ペインで名前を付けることによって、 'worksheet'で作成された範囲を取得します。 ** set rngTest = Range( "A1:A10") ' –

+1

*が動作していない* < - 詳細を教えてください。ここの周りに十分な担当者がいるので、このような悪い質問をするよりもはるかに良いはずです。それは改善することができます、そうしてください。 –

答えて

1

enter image description here

イミディエイトウィンドウが表示されていることを確認してください。

+0

はい、うまくいきました。私が間違っていたことは分かりませんでした。私の更新を参照してください。返信いただきありがとうございます。 – Brian

関連する問題