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)错误。 将Text
types从Text
更改为General
不会发生任何事情。 我必须打开单元格进行编辑,然后从单元格中移除焦点,以便将types踢入。之后,我可以将其从“ General
更改为“ Text
,Excel将立即识别并更新单元格。 Sum函数此时将把General
和Text
字段types识别为一个数字。
是否有处理这些NSaT错误的VBA解决scheme? 我试图在列上使用'NumberFormat',但是没有帮助。 我也尝试手动复制和粘贴数据,即使使用特殊的“ As Value
选项,但它仍然有NSaT错误,直到手动玩弄。