- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
回復 23# singo1232001
誤會了! 不是說你程式的問題
我作全比對L R兩個資料表,大部分這兩組資料表裡都有符合的位置,
因為大家的程式都是先比查詢L表在查詢R表,
我在練習時將查詢順序改為先比查詢R表在查詢L表,答案跟大家不同
所以發現資料去比對 起始BarCode 跟 結束BarCode,在L R表都有答案,滿奇怪的。
Sub LR全部比對()
Dim LR(1 To 2), SN
TM = Timer
Set SN = Sheets("序號")
LR(1) = [L!A1:L1].Resize([L!J65536].End(xlUp).Row)
LR(2) = [R!B1:M1].Resize([R!J65536].End(xlUp).Row)
Arr = SN.[A1].Resize(SN.[A65536].End(xlUp).Row, 3)
ReDim Brr(1 To UBound(Arr), 1 To 4)
Brr(1, 1) = "工單號碼": Brr(1, 2) = "LR位置": Brr(1, 3) = "起始BarCode": Brr(1, 4) = "結束BarCode"
For i = 2 To UBound(Arr)
Key = "": Wno = ""
For j = 1 To 2
For k = 2 To UBound(LR(j))
If LR(j)(k, 10) <= Arr(i, 1) And Arr(i, 1) <= LR(j)(k, 12) Then
'Brr(i, 1) = LR(j)(k, 1)
'Brr(i, 2) = LR(j)(k, 3) & k
'Km = 1: Exit For
Brr(i, 1) = Brr(i, 1) & "," & LR(j)(k, 1) 'L R 工單號碼
Brr(i, 2) = Brr(i, 2) & "," & LR(j)(k, 3) & k 'L R 位置
Brr(i, 3) = Brr(i, 3) & "," & LR(j)(k, 10) & k 'L R 起始Barcode
Brr(i, 4) = Brr(i, 4) & "," & LR(j)(k, 12) & k 'L R 結束Barcode
End If
Next
'If Km = 1 Then Km = 0: Exit For
Next
Next
SN.[D1].Resize(UBound(Arr), 4) = Brr
SN.Range("D2,E3,F2,G2").Columns.AutoFit
Debug.Print Timer - TM
End Sub |
|