- 帖子
- 27
- 主題
- 7
- 精華
- 0
- 積分
- 69
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-4-19
- 最後登錄
- 2012-6-26
|
本帖最後由 atuan207 於 2011-5-20 14:10 編輯
我用oobird大大所給的程式碼做資料庫的比對
(而目前的資料庫中不具關聯性, 因為未建立)
功能是sheet2、3當成資料庫,sheet1的A、B行各自當成一個比對資料的值
找到資料後再丟回sheet1的C、D、E、F、G行
oobird大大所提供的程式碼如下:
Sub yy()
Dim c As Range, i%
With Sheet1
For i = 2 To .[a65536].End(3).Row
Set c = Sheet2.[a:a].Find(.Cells(i, 2))
If Not c Is Nothing Then
.Cells(i, 3).Resize(, 2) = c(1, 2).Resize(, 2).Value
End If
Set c = Sheet3.[a:a].Find(.Cells(i, 1))
If Not c Is Nothing Then
.Cells(i, 5).Resize(, 3) = c(1, 2).Resize(, 3).Value
End If
Next
End With
End Sub
自己測試發現有些問題,像如果A、B行的資料輸入錯誤,(正確值為12312),而我只輸123
當資料庫中有12311、12312,它會複製12311的資料過來,
且剛剛又測試,輸入0,資料庫中有一個資料代碼是01居然去抓這筆資料
該如何讓搜尋時每個資料都具有單一性???
一定要輸入的資料完全正確才會出現,錯誤時則空白???
請教各位大大 |
|