excel - 使用 If 函数从另一个工作表中提取数据
问题描述
通过使用使用“If”函数从另一个工作表中提取数据中找到的示例数据集,我正在尝试使用 VBA 的 If 函数来查找特定关键字,如果匹配,我想提取名称本身及其序列号和产品,并添加到另一个工作表的最后一行,在同一个工作簿。例如,如果在 C 列中,我们检测到 cana(请注意,这不是完全匹配,但已经足够好了),那么我希望 VBA 帮助我提取 Canary Wharf、它的序列号和旁边的产品,即 8273615 和罐头食品,到另一个工作表的末尾,循环一直持续到 Canary Wharf 的末尾,然后转到 Riverdale,我会输入,比如说,riverd,然后重复相同的过程。x 表示我有一个相当大的数据集,仅此而已。
我使用下面的代码来执行任务:
Option Compare Text
Sub DataExtraction()
Dim SrchRng As Range, cel As Range, i As Integer
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
Set SrchRng = ws1.Range("A1:A100")
For Each cel In SrchRng
For i = 1 To 10
For k = 1 To 1
If InStr(1, cel(i, k).Value, "cana") > 0 Then
ActiveCell(i, k).Value = "Canary Wharf"
ActiveCell(i, k + 1).Value = cel(i, k + 1).Value
ActiveCell(i, k + 2).Value = cel(i, k + 2).Value
End If
Next k
Next i
Next cel
End Sub
上面的代码导入了10个相同的输入,分别是Canary Wharf,8273615,Canned Food,10次,我怀疑是因为我的For i = 1 To 10
命令。我想要的最终目标是让 VBA 提取 Canary Wharf,直到没有 Canary Wharf 的左侧,以及右侧的两个输入。换句话说,我正在查看的将是一个 2x3 矩阵。然后,很自然地,我会搬到 Riverdale,这样循环下去。
解决方案
推荐阅读
- reactjs - 我想在 reactjs 中为轮播设置循环条件
- angular - 单元测试 - Angular 9 中未定义的 ag-grid API onFilterChanged
- reactjs - React Native 导航共享标题元素
- javascript - 没有得到预期的输出 - Cheerio
- c - 我们可以在 ubuntu 的日志轮换过程中调用 C 函数吗?
- node.js - 节点:如何访问标志,而不是参数
- c# - 如何将proto文件导入到不同的目录
- android - 自定义 AutoCompleteTextView 与自定义适配器下拉忽略 onItemClick
- pyspark - 使用 Pyspark 读取 Parquet 和 ORC HDFS 文件
- reactjs - React useCallback:useCallback 每次仍然是重新渲染函数