VBA – 与“数字存储为文本”错误求和单元格

在Excel 2010中,我正在编写VBA来获取一系列过滤值的SUM ,并将结果存储到一个variables中。 代码如下所示:

 With Sheets("Output") .Range("$A:$ZZ").AutoFilter field:=ColIndex(AB), Criteria1:="x" y = Application.WorksheetFunction.Sum( _ Range(Cells(2, "AC"), Cells(10, "AC")).SpecialCells(xlCellTypeVisible) _ ) 

行得通的,但只有当我手动玩弄数据。 当我尝试在未经编辑的数据集上使用这个公式时,我得到一个空白的结果。 这个问题似乎在于未经编辑的数据。

每个数字都会得到Number Stored as Text (NSaT)错误。 将Texttypes从Text更改为General不会发生任何事情。 我必须打开单元格进行编辑,然后从单元格中移除焦点,以便将types踢入。之后,我可以将其从“ General更改为“ Text ,Excel将立即识别并更新单元格。 Sum函数此时将把GeneralText字段types识别为一个数字。

是否有处理这些NSaT错误的VBA解决scheme? 我试图在列上使用'NumberFormat',但是没有帮助。 我也尝试手动复制和粘贴数据,即使使用特殊的“ As Value选项,但它仍然有NSaT错误,直到手动玩弄。