我正在匯入一個 csv 檔案,其中包含對作業表的單元格參考。單元格參考可能是錯誤的,因為用戶曾經在鍵入單元格參考時出錯(例如:用戶寫的是“AMQ”而不是“AM1”)或出現其他錯誤。
問題是,我有 1000 多個可以動態更改的單元格參考,并且可能會出現任何可以想象的錯誤,因為用戶可以向其中寫入任何內容。
我正在嘗試撰寫一個函式來檢查參考是否有效,但是我找不到用于檢查 Excel 中是否存在單元格參考的解決方案。
例如,我有此代碼,但它總是回傳運行時錯誤,因為如果 rng 不是有效輸入,則 Range(rng).Row 函式不起作用。但是我該如何解決呢?
這正如預期的那樣始終有效:
Sub Test()
rng = "A1"
flag = rangeExists(rng)
debug.print flag
End Sub
這不起作用:
Sub Test()
rng = "AQ"
flag = rangeExists(rng)
debug.print flag
End Sub
功能:
Function rangeExists(ByVal rng As String) As Boolean
Dim row_int As Integer
row_int = Range(rng).Row
On Error Resume Next
If Err.Number <> 0 Then
rangeExists = False
Else
rangeExists = True
End If
On Error GoTo -1
End Function
我正在嘗試使用 VBA 中的錯誤處理找到解決方案,但我無法這樣做。你知道如何解決這個問題嗎?
uj5u.com熱心網友回復:
True如果它是一個有效范圍,這將簡單地回傳,False如果不是。
Function IsRangeValid(ByVal rng As String) As Boolean
Dim r As Range
On Error Resume Next
Set r = Range(rng)
On Error Goto 0
IsRangeValid = (Not r Is Nothing) ' parenthesis optional
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/365343.html
上一篇:如何為我自己的型別創建實體?
