[VBA ] range 比对

楼主: HugoStiglitz (Meine Ehre heisst Treue)   2015-04-13 16:19:00
请问如果想要用 if 函数 来判断两个 range 有无完全一样
要怎么写呢??
我想要知道在 B 栏中 哪些部份和 range(G1:G46)储存格一样
一样的话 我需要相对应的C栏的值
我的想法是以46个储存格为单位去比较
如果符合就在相对应的D栏旁边打一个V记号 再用"筛选"就能找出来了
小弟的写法如下
For i = 2 To 58666
j = i + 45
If Range(Cells(i, 2), Cells(j, 2)) = Range("G1:G46") Then
Range(Cells(i, 4), Cells(j, 4)).Value = "v"
End If
Next i
但是VBA一直告诉我型态不符合
问题可能出在 if 那行
但我查不到要怎么做@@
请高手帮忙一下 感激不尽
作者: ClubT (小喬)   2015-04-14 11:21:00
Range可以这样用 = 去比较吗?而且你要比较的应该是Cells,而不是Range
楼主: HugoStiglitz (Meine Ehre heisst Treue)   2015-04-14 23:49:00
我用cells 解决了 那请问有比较快的写法吗谢谢C大
作者: hulapig (呼拉猪)   2015-04-19 09:38:00
如果不一定要用vba的话,可以在D栏打公式就好了试试=IF(ISNUMBER(MATCH(B1,$G$1:$G$46,0)),"v","")
楼主: HugoStiglitz (Meine Ehre heisst Treue)   2015-04-20 11:48:00
感谢楼上大大 我有想过要用IF +MATCH原来要搭配isnumber

Links booklink

Contact Us: admin [ a t ] ucptt.com