otake@inpac.jp さんの引用:
例えばA列に名前を付けて Range(付けた名前 & ”5”)の様にするとエラーになってしまいました。
「名前の定義」機能はセル
範囲に名前を付ける機能です。この場合、「付けた名前 」のセル範囲はA列全体を指定したことになります。「名前の管理」でご確認すると分かりますが、=Sheet1!$A:$A となっているはずです。
つまり、提示の記述では、下記のように解釈されます。
Range("Sheet1!$A:$A" & "5")
ですので、
Range("Sheet1!$A:$A5")
となり、当然エラーです。
なお、解決方法は、すでにレスが付いている通り、指定範囲内てRangeオブジェクト指定。さらにその範囲内をRangeオブジェクトで指定します。つまり、最初のRangeオブジェクト。その直後に、ピリオドでつなげて、Rangeオブジェクトで、セルアドレスを指定する。
Debug.Print Range("付けた名前").Item(3).Value
Debug.Print Range("付けた名前").Range("A3").Value
Debug.Print Range("Sheet1!$A:$A").Item(3).Value
Debug.Print Range("Sheet1!$A:$A").Range("A3").Value