vba - Excel VBA:在两个工作表中为给定列中的每个单元格循环查找
问题描述
基本上,我想浏览特定列中的单元格,看看它是否适合两个可能的其他工作表中的属性(在该数据库的列中用“x”表示)。
如果它包含/具有该属性(vlookup 的结果是“x”),则将原始单元格的值粘贴到不同的单元格中。
我想为每行的两个属性执行此操作。因此,由于我必须在 2 个工作表中搜索 2 个可能的属性,因此我在循环中有 4 个 If/Then 语句。
我为这两个属性输入了“计数器”,这样如果我在列表中找到一个具有属性的项目,我确保如果我稍后找到另一个项目,它会插入到它下面的行中,而不是覆盖它。
我的代码运行时没有出现错误,但它没有产生任何结果。我为我的业余行为道歉,感谢您的耐心等待!
Sub ASSESS()
Dim counterF As Integer
Dim counterS As Integer
Dim cell As Range
Dim Ret As String
'These are counters to start logging the desired cells in rows 6 and 10, respectively, depending on if it fit attribute F or S
counterF = 6
counterS = 10
For Each cell In Worksheets("Sheet1").Range("C14:C64")
Ret = CStr(Application.VLookup(cell, Worksheets("Activities").Range("B2:U1000"), 13, 0))
If Ret = "x" Then
Worksheets("Sheet1").Cells(counterS, 3) = cell
counterS = counterS + 1
Ret = ""
Else
End If
Ret = CStr(Application.VLookup(cell, Worksheets("Song List").Range("B2:U1000"), 13, 0))
If Ret = "x" Then
Worksheets("Sheet1").Cells(counterS, 3) = cell
counterS = counterS + 1
Ret = ""
Else
End If
Ret = CStr(Application.VLookup(cell, Worksheets("Activities").Range("B2:U1000"), 12, 0))
If Ret = "x" Then
Worksheets("Sheet1").Cells(counterF, 3) = cell
counterF = counterF + 1
Ret = ""
Else
End If
Ret = CStr(Application.VLookup(cell, Worksheets("Song List").Range("B2:U1000"), 12, 0))
If Ret = "x" Then
Worksheets("Sheet1").Cells(counterF, 3) = cell
counterF = counterF + 1
Ret = ""
Else
End If
Next
End Sub
解决方案
推荐阅读
- angular - 如何在 Ionic 3 的所有页面中使用相同的页脚?
- mysql - 仅获取员工人数最多的部门
- ios - webservice的输出没有使用alamofire快速提供所需的json
- pdf - 跟踪和输出 LaTeX 文档修订到 PDF 之间的更改/差异?
- docker - docker stack deploy 生成的图像带有
标签和不同的图像尺寸 - javascript - 将值从类方法传递给反应组件
- python - 如何为 dask 数据框创建自定义图表?
- ruby-on-rails - 如何将 before_action 与 :unless 和 params 一起使用
- angular - 订阅()在Angular 5中返回未定义而没有控制台
- laravel-5 - 在远程桌面上开发没有互联网的 laravel 项目