利用VB根据N5:EN5和K7:K38单元格中的数组查找在A:A列中是否包含,如果包含两个单元格中的数组时提取Has Files: 后一位的字符,将Has Files: 后一位的字符自动填充N7:EN38区域
时间: 2024-12-25 17:36:50 浏览: 11
在Visual Basic (VB) 中,你可以使用For Each循环结合Like操作符或者Find函数来实现这个功能。假设你的数据存储在Excel工作表中,A:A列是关键词列表,N5:EN5和K7:K38则是需要查找的两个数组范围,而Has Files: 后面的字符是目标值。
首先,你需要创建一个临时变量来保存找到的结果:
```vb
Dim result As String ' 存储找到的 Has Files: 后缀字符
Dim keyword As Variant ' 当前关键词
For Each keyword In Range("N5:EN5").Cells ' 遍历第一个数组
For Each valueRange In Range("K7:K38").Cells ' 再次遍历第二个数组
If Application.WorksheetFunction.Contains(keyword.Value, A1:A1000) Then ' 检查关键词是否在A列中
result = Mid(valueRange.Cells.Value, Len("Has Files: ") + 1) ' 提取Has Files: 后的字符
Exit For ' 如果找到就退出内层循环
End If
Next valueRange
If Not result = "" Then ' 如果有结果,填充到对应位置
valueRange.Offset(0, 0).Value = result
End If
Next keyword
```
这里假设A1:A1000是你的A:A列的全范围,如果不是,请替换为你实际的数据范围。`Mid`函数用于从字符串中提取特定位置的字符。如果有多个匹配,此脚本只记录首次找到的结果。
阅读全文