excel - 在 VBA 中用今天的日期替换错误 #N/A
问题描述
我正在寻找#N/A
使用以下代码替换(由于查找搜索导致)今天的日期,但它不起作用。您能否告知此逻辑是否有效或需要应用其他一些技术。
Const StartRow As Byte=2
LastRow = Range("J" & Rows.count).End(xlUp).Row
For i = StartRow To LastRow
myValue = Range("B" & i).Value
If myValue =Specialcells(xlCellTypeFormulas,xlErrors)
Then Range("B" & i).Value = "=Today()"
Next i
解决方案
您可以使用Application 类的方法检查特定#N/A
错误。WorksheetFunction
For i = StartRow To LastRow
If Application.WorksheetFunction.IsNA(Range("B" & i)) Then
Range("B" & i).Formula = "=Today()"
End If
Next
正如我常说的,在每种情况下,您都应该完全限定您的 Range 对象。即使您希望使用Active...
它是什么:
Dim Rng As Range
Set Rng = ThisWorkbook.ActiveSheet.Range(...)
' Or
Set Rng = ActiveWorkbook.Worksheets(1).Range(...)
当你使用For i =
循环时,我总是更喜欢使用Cells()
属性而不是使用Range()
,因为我不喜欢在每次循环迭代中使用 VBA 将字符串连接在一起:
For i = StartRow To LastRow
If Application.WorksheetFunction.IsNA(Cells(i, 2)) Then
Cells(i, 2).Formula = "=Today()"
End If
Next
但我认为这最终归结为偏好。
推荐阅读
- nginx - 为什么 Nginx proxy_pass 在与变量一起使用时会忽略 add_headers?
- reactjs - 在 React 应用程序中使用 POST 方法传递多个变量
- selenium - 如何在循环中使用 append() 分配空值“”
- javascript - 划分两个div,其中一个是动态的
- python - 在数据框中的词性(PoS)列中查找 X 个最常用名词
- python - 用于将 xml 文件转换为 xml 的 xslt 模板
- java - 创建替换密码以将一串普通字母表映射到一串混杂字母表以加密消息的最佳方法是什么?
- python - 在 python 中,它显示 ValueError: invalid literal for int() with base 10: ''?
- java - 如何从类中获取二元运算符?
- git - 对同一 GitKraken 配置文件中的不同 repo 使用不同的提交电子邮件