2016-11-22 6 views
0

私はVBAでのプログラミングについては初心者です。アクティブセルを使用して範囲名を検索

名前付き範囲の一部であるセルが1つあります。そのアクティブなセルを使用して、そのセルがどの範囲に含まれているかを調べ、RangeオブジェクトとしてVBA関数またはサブルーチンに渡したいと考えています。

どのように進行するかについての指導を誰かに提供することはできますか?これは可能ですか?

ありがとうございます!

+5

単一のセルは複数の範囲に属することができますが、それらのすべてをリストしたいですか? –

答えて

2

ここは簡単な例です。

コードは、選択したセルが名前付き範囲の一部であるかどうかをチェックします。その場合、指定された範囲は関数に渡されます。

Sub Main() 
    Dim nm As Integer 

    For nm = 1 To ActiveWorkbook.Names.Count 
     If Not Intersect(Selection, Range(ActiveWorkbook.Names(nm).Name)) Is Nothing Then 
      Debug.Print MyFunc(Range(ActiveWorkbook.Names(nm).Name)) // Prints TRUE or FALSE 
     End If 
    Next nm 
End Sub 

Function MyFunc(Named_Range As Range) As Boolean 
    MyFunc = Named_Range.Cells.Count > 2 ~~>Courtesy of `Thomas Inzina` 
End Function 
+1

代わりに次のものを使用することもできます:MyFunc = Named_Range.Cells.Count> 2 –

+0

単一セルの名前付き範囲もチェックするべきですか? 'Print_Area'と' _FilterDatabase'の範囲を無視しますか?私はちょうどシャットダウンします - あなたは_simple example_と言っていましたので、必要なプロセスを示しています。 :) –

関連する問題