[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