VBA - 具有'编号存储为文本'的Sum单元格错误

时间:2014-08-13 17:31:19

标签: excel vba sum excel-2010

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

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更改为General不会导致任何事情发生。我必须打开单元格进行编辑,然后从单元格中移除焦点才能启动类型。之后,我可以在General之间来回更改Text,Excel会立即识别这并更新单元格。此时,Sum函数会将GeneralText字段类型识别为数字。

是否有处理这些NSaT错误的VBA解决方案?我试图在列上使用'NumberFormat',但它没有帮助。我还尝试过再次手动复制和粘贴数据,即使使用特殊的As Value选项,但在手动玩具之前它仍然存在NSaT错误。

0 个答案:

没有答案