0

我只是想将 0(实际上是日期格式 = 00/01/1990)替换为 NA

所以我已经录制了宏。我在不同的文件中检查了该宏,但它无法正常工作。如果我单击F2每个单元格,然后我尝试重新运行宏,那么它工作正常。任何其他跳过F2每个范围的方法(有数千个范围).. 例如,如果 A1、B1、A2 和 B2 有 00/01/1900 当我运行下面的宏时它不能正常工作.. 然后我试过了再次按下F2每个单元格重新运行宏..然后它运行良好

代码 :

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
4

2 回答 2

4

如果您尝试在整个工作表中替换,那么您可以使用它而不是每次都定义您的范围

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
于 2012-07-03T07:40:20.220 回答
0

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

您正在查看的日期确实为零,对吗?您可以在单独的列中的公式中测试和处理这些单元格(也就是说,如果您不希望自动执行此解决方案)。

例如,如果您的日期在 A 列中,而这也是您看到“00/01/1900”的地方,就像在 B 列中添加一个公式一样。类似于:

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

然后,您可以复制 B 列中的结果并将它们的特殊值粘贴到 A 列 - 有效地将您的 0 转换为 N/A。

于 2012-07-03T12:27:20.533 回答