2017-09-12 9 views
0

ダイナミックな名前の範囲がいくつかあります。アクティブセルのセルがそのいずれかに属している場合、VBAをチェックします。セルがダイナミックな名前の範囲に属しているかどうかを確認する方法

例えば、私はnamerange

nameTest1=OFFSET(A1;0;0;COUNT(A1:A12)) 

を作成していると私は、アクティブセルがこの範囲内にあるかどうかを確認したいです。

私はそれを行うさまざまな方法を見つけましたが、ダイナミックな名前の範囲では見つかりませんでした。

これを行う方法はありますか?

よろしく

テストを行うにはThanasis

+1

'' Intersect'メソッドを使用しますか?どうして他のどの範囲と違うのか分かりません。どんな方法で試しましたか? – SJR

答えて

4

、nameTest1は名前付き範囲です。

If Not Application.Intersect(ActiveCell, Range("nameTest1")) Is Nothing Then 
    MsgBox "activecell is in range nameTest1" 
Else 
    MsgBox "activecell is not in range nameTest1" 
End If 
+0

はい、これは動作します。 ありがとうございます。 セルがダイナミックな名前の範囲に属しているかどうかをチェックする方法はありますか?はいの場合、この範囲の名前は? – Thanasis

+0

'ActiveWorkbook.Namesの各nrの場合 もしApplication.Intersect(ActiveCell、Range(nr.Name))がNothingならば MsgBox" activecellと "&nr.Nameが交差しています 終了ならば Next' – h2so4

0

は、アクティブセルが属する名前付き範囲、しようとするかを決定するために、この

For Each nr In ActiveWorkbook.Names 
    If Not Application.Intersect(ActiveCell, Range(nr.Name)) Is Nothing Then 
    MsgBox "activecell intersect with " & nr.Name 
End If 
Next 
0

私は少しH2SO4からソリューション微調整:あなたの助けを

For Each nr In ActiveWorkbook.Names 
    On Error Resume Next 
    If Not Application.Intersect(ActiveCell, Range(nr.Name)) Is Nothing Then 
     If Err.Number = 0 Then 
      MsgBox "activecell intersect with " & nr.Name 
     End If 
    End If 
    Err.Clear 
Next 

感謝を!

関連する問題