excel - 将 VLookup 循环中的 #NA 值包含在 If 条件中
问题描述
我有代码,如果这些工作表中其他两列中的值匹配,它使用 Vlookup 函数将 WS_B 中某个列的值插入到 WS_A 中。因此,如果 WS_A.Range("$D$1:$D$700") value x 匹配 WS_B.Range("$D$13:$D$700") 中的值,则来自 WS_B.(P:P) 的值将是粘贴到 WS_A.(T:T)。
但是,如果 Vlookup 的结果是#NA,则从 WS_B 开始的整行,其中 Vlookup 结果是#NA,应该复制到 WS_A 的末尾。
Dim rngToWS_A As Range
Dim rngfromWS_B As Range
Dim rngCelToWS_A As Range
Dim rngCelfromWS_B As Range
Dim TargetWorksheet As Worksheet
Set TargetWorksheet = ActiveSheet
Set rngToWS_A = TargetWorksheet.Range("$D$1:$D$700")
Set rngfromWS_B = ActiveSheet.Range("$D$13:$D$700")
For Each rngCelToWS_A In rngToWS_A.Cells
If Trim(rngCelToWS_A) <> "" Then
For Each rngCelfromWS_B In rngfromWS_B.Cells
If UCase(Trim(rngCelToWS_A)) = UCase(Trim(rngCelfromWS_B)) Then
rngCelToWS_A.Cells(, 20) = Application.WorksheetFunction.VLookup(rngCelToWS_A, ActiveSheet.Range("D13:P700"), 13, False)
**'HERE SHOULD BE THE IF CONDITION FOR FOUND #NA VALUES AND COPYING THE ROW TO WS_A**
Exit For
End If
Next rngCelfromWS_B
End If
Next rngCelToWS_A
不幸的是,我不知道如何包含 if 条件。它应该像这样的混合:“如何 VLOOKUP 在 VBA 中获取 #N/A 值?” 还有这个:“IF 语句包括 VLOOKUP”。
解决方案
推荐阅读
- clickhouse - 相同索引处的 clickhouse 和数组
- python - python 3.5+中如何在没有原始回溯的情况下在except块中引发异常
- batch-file - 如何将文件名批量更改为计算机名?
- clojurescript - 分组数据矢量图结构路径的位置键
- java - Java Jackson Streaming API 在创建 JSON 时识别当前上下文(检查对象、数组等)
- c# - 如何从 .NET Standard 库中的类生成 XML 模式?
- java - 为使用 @ConfigurationProperties 注释的类获取 NoSuchBeanDefinitionException
- javascript - 反应状态不使用钩子更新
- scala - 如何交换到 Seq 中的元素
- javascript - 如何独立触发 NGRX Selector foreach 子组件