Exceldate格式问题(00/01/1990)

我只是试图将0(实际上是date格式= 00/01/1990)replace为NA

所以我logging了这个macros。 我检查了不同的文件中的macros,但它不正常工作。 如果我点击F2为每个单元格然后我尝试重新运行macros然后它工作正常。 任何其他方式跳过继续按F2为每个范围(千范围在那里)..如果A1,B1,A2和B2有00/01/1900当我运行下面的macros它不完美的工作..然后我试图按F2为每个细胞再次运行macros,然后运行良好

代码:

Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Replace What:="00/01/1900", Replacement:="N/A", LookAt:=xlPart _ , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Range("AW1").Select 

如果您试图在整个工作表中进行replace,那么您可以使用它来代替每次定义范围

 Sub Sample() With Sheets("Sheet1") .Cells.Replace What:="00/01/1900", Replacement:="N/A", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End With End Sub 

首先,我认为Siddharth Rout的答案可能是你正在寻找的东西,但也许这也可能有帮助?

你正在看的date真的是零,对吧? 您可以在单独的列中testing并处理公式中的这些单元格(即,如果您不想自动执行此解决scheme)。

例如,如果您的date位于A列中,那么您也可以看到“00/01/1900”,就像在B列中添加公式一样。

 =IF(A1=0, "N/A", A1) 

然后,您可以复制B列中的结果,并将其特殊值粘贴到列A上 – 将您的0变为N / A。