- 帖子
- 2
- 主題
- 1
- 精華
- 0
- 積分
- 3
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- EXCEL2016
- 閱讀權限
- 10
- 註冊時間
- 2018-1-31
- 最後登錄
- 2018-4-17

|
請問有前輩們能幫我解答一下嗎?
小弟是程式(VBA)新手,目前想寫一個小程式來檢查來源資料是否有出現例外字串
請見附件test_compare.rar。
想比對Sheet1 的 C 欄字串是否有跟vendorcode上面任何一個字串都不符合的,要是有不符合的就寫在comp_rslt資料表。
目前sheet1的C11與C12都是應該被程式發現並印在comp_rslt的字串,但是執行之後都會印出任一個字串(不應該被印出來因為vendorcode上有)
請問是哪邊弄錯了呢可否給小弟一些提示,感謝!- Sub compare()
- '
- '來源資料的欄位數
- k = Sheets("sheet1").Cells(104689, 3).End(xlUp).Row
- '比較資料的欄位數
- p = Sheets("vendorcode").Cells(104689, 1).End(xlUp).Row
- For n = 2 To k
- C = 1
- For m = 1 To p
- '要是來源資料有哪一欄和比較資料不同,就列在比較結果資料表comp_rslt中
- If InStr(Sheets("sheet1").Cells(n, 3), Sheets("vendorcode").Cells(m, 1)) = 0 Then
- Sheets("comp_rslt").Cells(C, 1).Value = Sheets("sheet1").Cells(n, 3)
-
- End If
- C = C + 1
- Next
- Next
- End Sub
複製代碼 |
-
-
test_compare.rar
(7.78 KB)
test_compare
|