如何删除出现在工作表中的#N / A? (VBA为Excel需要)

当我运行我的代码时,我必须清除在我的工作表中发生的#N / A。 我不知道为什么,一直在debugging,但无济于事。 我能做些什么来弥补这个问题,就是把它从页面上全部删除,然后随机发生。 如果有人知道如何与我分享一个VBA代码。

做一个简单的复制并粘贴到另一个工作表的代码

thevaluestocopy = Sheets("pivot").Cells(thefirstrow, 1) _ .Resize(thelastrow - thefirstrow, 1) Worksheets("summary").Cells(3, 16) _ .Resize(thelastrow - thefirstrow + 1, 16) = thevaluestocopy 

我用不同的列嵌套代码,因为我的数据透视表大部分时间都在变化。 而当我第二次复制,#N / A出现..不知道为什么,我相信这个作品正常工作。

您可以运行这一行以删除工作表中的任何#N/A错误值:

 Cells.Replace "#N/A","",xlWhole 

如果工作表包含公式,你可以试试这个:

 Cells.SpecialCells(xlCellTypeFormulas,xlErrors).Clear 

我不知道,但做这样的事情呢? 这是我通常复制和粘贴,没有问题。

 Sheets("pivot").Range("your range").Copy Worksheets("summary").Range("your range").PasteSpecial 

更新如果你仍然想简单地删除所有#N /与你当前的代码,你可以使用这样的代码。

 If WorksheetFunction.IsNA(Cells(row, column)) Then Cells(row, column).ClearContents