-1
A
答えて
0
をこれが問題である場合、私は知りませんが、あなただけで範囲を設定しているとから何かを返されていません機能。
関数とは異なる名前の範囲変数を宣言して返してください。
0
実際には、このMSDN Threadで説明されているように、UDFから範囲を返すことができます。
Function GetMeRange(rStartCell As Range, lRows As Long, iColumns As Integer) As Range
Set GetMe = rStartCell.Resize(lRows, iColumns) ' note the use of Set here since we are setting an object variable
End Function
名前付き範囲にアクセスしたいと
ティアゴさんのコメントは、非常に正しいことを指摘し、それがあるべき(と、それは動作します):ここでは
はMVPによって与えられたコードがあります最初に定義されます。
UDFにブレークポイントを設定して、Range(NmdRng)
が定義されているかどうかを確認できます。
0
名前付き範囲には既にセル参照が添付されているため、末尾に.Cells(1,1)
を配置する必要はありません。
.Range(nmdRng)
プロパティを単独で使用すると、探している範囲オブジェクトが返されます。
試してみてください。
Private Function RelCell(NmdRng as String) as Range
Set RelCell = Range("NmdRng")
End Function
0
あなたのコードを書き換えると次のようにそれをテストしてください:
Private Function RelCell(NmdRng as String) as Range
Dim TestRange As Range
Set TestRange=Range(NmdRng)
TestRange.Activate 'I think that error will occur here because, NmdRng is somehow invalid
Set RelCell = TestRange.Cells(1,1)
End Function
をイミディエイトウィンドウでは、 'レンジ(NmdRng).activate'を使用してみてください、とケースの範囲内実際に動作している場合は、Excelで選択されます。私はVBAがこの範囲(間違った名前、おそらく)に達していないので、問題があると思います。 –