【发布时间】:2018-07-24 09:46:20
【问题描述】:
我目前正在研究的语句暗示,如果名为“Matrix”的工作表中“G3:ED3”范围内的任何单元格值与“H3:H204”范围内的单元格值匹配”在名为“Staff”的工作表中,并且“Matrix”工作表中“G5:ED57”范围内的任何单元格值都是数字,则与该数字值相交的 B 列中的单元格的值正在检索到目标模板中所需的单元格地址。
这是我迄今为止尝试过的:
Dim rng1 As Range
Set rng1 = Worksheets("Matrix").Range("G3:ED3")
Dim rng2 As Range
Set rng2 = Worksheets("Staff").Range("H3:H204")
Dim rng3 As Range
Set rng3 = Worksheets("Matrix").Range("G5:ED57")
For Each cell In Range(rng1, rng2, rng3)
While IsNumeric(rng3) And rng1.Value = rng2.Value
Worksheets("Matrix").Columns("B").Find(0).Row =
Worksheets("TEMPLATE_TARGET").Value(12, 4)
Wend
我不确定如何定义该语句,因此代码将自动检索 B 列中单元格的值,该列与 rng3 中包含数值的任何单元格相交。任何建议将不胜感激。
【问题讨论】:
-
您可能在这里混淆了单元格和范围。请列出您希望使用这部分代码实现的所有单个步骤,并将它们发布在此处(按顺序)。每行必须是一个逻辑步骤。
-
所需算法如下所示: 1. 检查 rng1 中的单元格值是否与范围 rng2 匹配,rng2 用作以 '0' 开头的项目记录的标识符(01MNG, 02APT, ETC); 2. 转录数字的值,以rng3表示; 3.获取B列中单元格的值,该列与指示的数字位于同一行; 4. 在名为“TEMPLATE_TARGET”的工作表中检索它
标签: excel vba loops while-loop