我正在嘗試做一個簡單的函數來計算代碼爲LINES的工作表中列出的管道數量。行中將列出的工作表LINES中的範圍是$ A $ 2:$ A $ 1048576,並且我已將範圍命名爲「LineList」。我創建了一個包含所有硬編碼全局常量的模塊,以便將來可以輕鬆修改它們。 LineList範圍的名稱是其中的一個,定義如下:VBA:使用字符串常量指定範圍
Public Const LINELIST_RNG As String = "LineList"
我的功能如下。出於某種原因,這個命令失敗,由於LINELIST_RNG爲空:
Function numLines() As Integer
numLines = WorksheetFunction.CountA(LINES.Range(LINELIST_RNG))
End Function
但是,如果我硬編碼區域名稱到這個功能,它工作正常:
numLines = WorksheetFunction.CountA(LINES.Range("LineList"))
我不確定爲什麼.Range對象不能將LINELIST_RNG作爲參數,而會採用「LineList」。
雙重拼寫?我看不出會發生什麼,你是否設置了一個斷點來驗證const的值? –
我做你的建議所有的時間...關閉我的頭頂,我不認爲這就是爲什麼你會得到錯誤... –
也因爲這是一個大範圍'只要'可能是當整數溢出超過+32767 –