我需要一个宏(必须是一个宏),如果 - 只有 - 两个单元格匹配,它将选择一个单元格。 = IF(a3 = k8)选择k9。 A3是静态的,但匹配数据可以是行范围内的任何位置。因此,我需要在k8:bz8范围内的a3中查找数据,并且在每种情况下,选择其下方的单元格。基本上是HLOOKUP。一旦选择了该单元格,我将调用另一个宏来填充该单元格。 我正在使用Office 2016 for Mac(sux) 谢谢 唐
答案 0 :(得分:2)
据推测,WorksheetFunction object使用HLOOKUP function进行通配符搜索时,您不应该遇到任何问题。
dim val as variant
with activesheet
on error goto no_match
val = worksheetfunction.hlookup(chr(42) & .range("a3").value & chr(42), .range("k8:bz9"), 2, false)
on error goto 0
end with
debug.print val
no_match:
if err.number = 1004 Then _
debug.print "no match"
答案 1 :(得分:1)
我想我会做一个Do Until Loop。类似的东西:
Range("A8").Select
Do Until Selection = Range("A3").Value
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.Offset(0, 1).Select
为了测试它,我将值14放在单元格A3中。然后我在第8行的每个单元格中放了一堆不同的值。我把14放在k8中。宏将查看每个单元格,看它是否等于14,然后继续前进。如果你的数据用完了,你就需要一个退出条件,但这应该可以让你开始。