vba - 当我的变量错误时,VBA Object Required Error,不知道如何修复
问题描述
我正在遍历命名范围以检查是否有任何单元格是错误的,如果是,则突出显示它们。条件取决于两列,当两者都是错误(#NA)时,代码不起作用。我该如何解决?
当 sCharacter 和 sCheck 是
For i = 10 To 16
sCharacter = ws_Sheet1.Range("A" & i)
sCheck = ws_Sheet2.Range("B" & i)
If IsError(sCharacter) And IsError(sCheck) Then
ws_Sheet1.Range("D" & i).Interior.Color = RGB(255, 255, 0)
ws_Sheet1.Range("E" & i).Interior.Color = RGB(255, 255, 0)
Else
End If
If IsError(sCharacter) And sCheck = "Y" Then
ws_Sheet1.Range("D" & i).Interior.Color = RGB(255, 255, 0)
ws_Sheet1.Range("E" & i).Interior.Color = RGB(255, 255, 0)
Else
End If
Next i
解决方案
这样的事情呢?(从您的原始代码稍作修改,包括更改andsCharacter
并将它们各自声明为)。sCheck
rCharacter
rCheck
Range
Sub Test()
Dim l As Long
Dim ws_Sheet1 As Worksheet, ws_Sheet2 As Worksheet
Dim rCharacter As Range, rCheck As Range
Set ws_Sheet1 = Sheets("Sheet1")
Set ws_Sheet2 = Sheets("Sheet2")
For l = 10 To 16
Set rCharacter = ws_Sheet1.Range("A" & l)
Set rCheck = ws_Sheet2.Range("B" & l)
If IsError(rCharacter) And IsError(rCheck) Then
ws_Sheet1.Range("D" & l & ":E" & l).Interior.Color = RGB(255, 255, 0)
End If
If IsError(rCharacter) And rCheck.Text = "Y" Then
ws_Sheet1.Range("D" & l & ":E" & l).Interior.Color = RGB(255, 255, 0)
End If
Next l
End Sub
推荐阅读
- javascript - React 不能调用方法
- java - ORA-00907: 在 Java 中使用 % 通配符时缺少右括号
- php - Wordpress - 如果 function_exists 使用 Front End PM 插件向用户发送消息
- ruby-on-rails - 在 ruby on rails 中设置正确的错误消息验证
- dart - streamController.add() 和 streamController.sink.add() 有什么区别?
- node.js - CORS 错误,我已搜索但找不到。节点.js
- string - 我们在屏幕上键入和显示的字母或符号的值类型是什么?
- sql - 列中是否存在失格显示记录
- c# - Swashbuckle.OData 中 OData 函数的复杂类型参数
- django - ElasticSearch_dsl 问题