Excel日期格式发布(00/01/1990)
我只是想把0(实际上是日期格式=00/01/1990)替换成N.A 所以我录制了宏。我在不同的文件中检查了该宏,但它不能正常工作。如果我为每个单元格单击F2,然后尝试重新运行宏,则宏工作正常。任何其他跳过的方法都可以在每个范围内按F2键(有上千个范围)。。例如,当我运行下面的宏时,如果A1、B1、A2和B2的值为00/01/1900,则其工作不完美。。然后我试着再次按F2键重新运行宏,然后它就可以正常工作了 代码:Excel日期格式发布(00/01/1990),excel,vba,date,Excel,Vba,Date,我只是想把0(实际上是日期格式=00/01/1990)替换成N.A 所以我录制了宏。我在不同的文件中检查了该宏,但它不能正常工作。如果我为每个单元格单击F2,然后尝试重新运行宏,则宏工作正常。任何其他跳过的方法都可以在每个范围内按F2键(有上千个范围)。。例如,当我运行下面的宏时,如果A1、B1、A2和B2的值为00/01/1900,则其工作不完美。。然后我试着再次按F2键重新运行宏,然后它就可以正常工作了 代码: Range("A1").Select Range(Selection, Sel
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
如果您试图在整个工作表中替换,那么您可以使用它,而不是每次都定义范围
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
如果您试图在整个工作表中替换,那么您可以使用它,而不是每次都定义范围
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的答案可能就是你想要的,但也许这也有帮助 你看到的日期实际上是零,对吗?您可以在一个单独的列中的公式中测试和处理这些单元格(如果您不希望自动化此解决方案) 例如,如果您的日期在A列中,这也是您看到“00/01/1900”的地方,就像在B列中添加公式一样。类似于:
=IF(A1=0, "N/A", A1)
然后,您可以复制B列中的结果并将其特殊值粘贴到A列上——有效地将0变为N/A。首先,我认为Siddharth Rout的答案可能是您想要的,但这可能也有帮助 你看到的日期实际上是零,对吗?您可以在一个单独的列中的公式中测试和处理这些单元格(如果您不希望自动化此解决方案) 例如,如果您的日期在A列中,这也是您看到“00/01/1900”的地方,就像在B列中添加公式一样。类似于:
=IF(A1=0, "N/A", A1)
然后,您可以复制B列中的结果,并将其值粘贴到A列中——有效地将0变为N/A。您是否在第一列中得到更改的结果,而不是其他列?1900年1月00日不是我所知道的日期,但替换似乎在您提供的代码中起作用。如果您的数据中有一个空格,xlDown和xlRight可能无法选择您期望的内容。或者,您的代码是否看到了任何结果?测试您的范围MsgBox(Selection.End(xlToRight.Address))是否选择了您期望的内容?您是否在第一列中看到了更改的结果,但其他列没有更改?1900年1月00日不是我所知道的日期,但替换似乎在您提供的代码中起作用。如果您的数据中有一个空格,xlDown和xlRight可能无法选择您期望的内容。或者,您的代码是否有任何结果?测试您的范围MsgBox(Selection.End(xlToRight.Address))是否选择了您期望的内容?