[VBA ] range 比對

看板Visual_Basic作者 (needs no nick name)時間9年前 (2015/04/13 16:19), 9年前編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
請問如果想要用 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 那行 但我查不到要怎麼做@@ 請高手幫忙一下 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1428913145.A.BF0.html ※ 編輯: HugoStiglitz (114.39.19.43), 04/13/2015 19:12:59

04/14 11:21, , 1F
Range可以這樣用 = 去比較嗎?
04/14 11:21, 1F

04/14 11:22, , 2F
而且你要比較的應該是Cells,而不是Range
04/14 11:22, 2F

04/14 23:49, , 3F
我用cells 解決了 那請問有比較快的寫法嗎
04/14 23:49, 3F

04/14 23:50, , 4F
謝謝C大
04/14 23:50, 4F

04/19 09:38, , 5F
如果不一定要用vba的話,可以在D欄打公式就好了
04/19 09:38, 5F

04/19 09:41, , 6F
試試=IF(ISNUMBER(MATCH(B1,$G$1:$G$46,0)),"v","")
04/19 09:41, 6F

04/20 11:48, , 7F
感謝樓上大大 我有想過要用IF +MATCH
04/20 11:48, 7F

04/20 11:49, , 8F
原來要搭配isnumber
04/20 11:49, 8F
文章代碼(AID): #1LAtlvlm (Visual_Basic)
文章代碼(AID): #1LAtlvlm (Visual_Basic)