3
我正在嘗試檢查工作簿中是否存在命名範圍,因爲我已經編寫了一個遍歷文件夾的迭代文件。我在下面寫的宏適用於'正常'命名範圍,但是當我將該函數的表名稱作爲命名範圍時失敗。Excel VBA - 如何檢查不同工作簿中表格的存在?
我在這裏和其他地方在互聯網上搜索了爲什麼這可能是這樣的,任何人都可以指出我(可能很明顯)做錯了?
任何幫助,將不勝感激!
感謝,
亞當
Public Function DoesNamedRangeExistInWorkbook(ByVal wb As Workbook, ByVal rangeName As String) As Boolean
Const FN_NAME As String = "DoesNamedRangeExistInWorkbook"
On Error GoTo catch
Dim rng As Range
Dim cellCount As Integer
Set rng = wb.Names(rangeName).RefersToRange
cellCount = rng.Cells.Count
DoesNamedRangeExistInWorkbook = True
finally:
Set rng = Nothing
Exit Function
catch:
Call ErrorReport(FN_NAME, False, Err.Number, Err.Description, rangeName & " could not be found in workbook: " & wb.Name)
DoesNamedRangeExistInWorkbook = False
Resume finally
End Function
嗨Siddharth,謝謝你的回覆!我測試了你給出的第一個解決方案(如果可能,我想對'普通'命名範圍和表名進行相同的測試工作),我在'If Not rng = Nothing'上得到一個編譯錯誤'invalid use of object' '一旦編譯器達到功能就行? – AdamDynamic
我的歉意。我只是直接輸入。將該行更改爲'If Not rng is Nothing Then' –
我試着用'is'來代替,並得到與我最初的方法相同的問題。我試過你的第二個解決方案,但它的工作完美,再次感謝您的幫助! – AdamDynamic