【发布时间】:2013-04-16 20:38:29
【问题描述】:
这里对 VBA 真的很陌生...我环顾四周并尝试拼凑一些代码来满足我的需求。认为它几乎就在那里,但我遇到了可能很容易克服但我不知道如何克服的错误。
代码查看当前工作表 (STOCK),并从单元格 A2 中获取“目标”文本值。然后它在另一个工作表“其他”中搜索命名范围。如果它确定 Other 中的一个单元格('cand')等于目标值,则“True”值将应用于 STOCK 表中的 G 列,位于原始目标的同一行。
希望这是有道理的。我已经复制了代码,这可能会更清楚地说明事情。
将目标调暗为字符串
将糖果点心为字符串
将当前行变暗为整数
子 search_named_range()
' 这个范围是硬编码的;如果硬代码版本有效,我们可以尝试 A:A '
For Each target In Worksheets("STOCK").Range("A2:A1000")
' 检索当前范围的行,用于设置目标值时 '
currentrow = Range(target).Row
' FOR 循环在 Mojave 中搜索零件编号范围 '
For Each cand In Worksheets("Other").Range("N9:N150")
如果 StrConv(cand.Value, 2) = StrConv(target, 2) 那么
Worksheets("STOCK").Range("G" + currentrow) = "True"
转到 FORend
万一
下一个糖果
'如果没有找到零件,什么都不做,返回寻找下一个目标'
FORend:下一个目标
结束子
目前我收到错误消息“对于每个控制变量都必须是 Variant 或 Object”,但找不到任何地方可以解释为什么会这样。我敢肯定,这很明显,但我们会非常感谢您的指导。
谢谢。
【问题讨论】:
标签: string excel vba for-loop each