2016-01-28 90 views
0

我想測試一個範圍內有能夠創建以下模式:文本範圍存在的Excel VBA

if not exists(r) then 
    MsgBox("Range is missing") 
end if 

Function exists(r as range) as boolean 

End function 

這裏是我想測試它是否存在,或者一個範圍的例子不是

Call RangeExists(lob.ListColumns("Leverera utt").DataBodyRange) 

我該怎麼做?

回答

1

你可以這樣來做:

Sub CheckRange() 

    Dim myRange As Variant 

    myRange = InputBox("Enter your name of your range") 

      If RangeExists(CStr(myRange)) Then 
       MsgBox "True" 
      Else 
       MsgBox "No" 
      End If 

    End Sub 

而且功能:

Function RangeExists(s As String) As Boolean 
     On Error GoTo No 
     RangeExists = Range(s).Count > 0 
    No: 
    End Function 
+0

高雅功能'RangeExists' – PankajR

+0

你爲什麼不申報myRange作爲字符串直接?而不是在輸入框中輸入字符串,將它發送到myRange這是一個變體,然後將其轉換回字符串?!不成功的複雜或我錯過了什麼? – Kathara

+0

@Kathara這是因爲我用這個代碼personnaly數組而不是一個輸入框。這是真的,你可以直接聲明輸入框爲字符串。我沒有改變它,因爲最重要的是功能而不是Sub。 – manu