excel - VBA 宏如果单元格包含 #N/A 然后在以下列中输入文本
问题描述
我有一个 excel 文档,其中将数据复制到 B 列。如果 B 列中的任何单元格 =“#N/A”,我希望我的宏在 C 列中输入注释。我的循环宏一直工作到结束时它无法再找到“#N/A”值,然后我收到错误“无效的过程调用或参数”。我在这里的宏中遗漏了什么吗?
Sub Private()
Dim ws As Worksheet
Dim cel As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
For Each cel In ws.Range("B2:B5000")
If CVErr(cel.Value) = CVErr(xlErrNA) Then
cel.Offset(0, 1).Value = "Please build missing name"
End If
Next cel
End Sub
干杯,
布兰登·M。
解决方案
试试这个:
Sub whateverr()
Dim ws As Worksheet
Dim cel As Range
Set ws = ThisWorkbook.Sheets("Sheet1")
For Each cel In ws.Range("B2:B5000")
If cel.Text = "#N/A" Then
cel.Offset(0, 1).Value = "Please build missing name"
End If
Next cel
End Sub
推荐阅读
- vb.net - VB 错误:重载解析失败,因为没有可访问者接受此数量的争论
- javascript - React Hooks - 引擎盖下发生了什么?
- excel - 如何从一系列过滤的单元格中复制和过去的日期文本到 CSV?
- tsql - 将 DATETIME 列与 CHAR 字段组合以创建 DATETIME2 列
- javascript - 函数事件(onChange)中的调用函数,来自在 Leaflet 和 Vue.js 中创建的 Select
- r - 如何从数据框的引用构建公式?
- php - 从数据库中删除文件或照片时如何从文件夹中删除文件或照片?
- ssl - Windows 中的 RabbitMQ SSL 支持
- vim - 如何在关闭语法突出显示的情况下启动 vim?
- excel - vba 括号