返回列表 上一主題 發帖

[發問] 多條件篩選&ListBox

回復 42# starbox520

ATI, BGA, 37.5X37.5, 0
Arr(1)(0)=ATI, ATI

ATMEL, TQFP, 14X14, 64
Arr(1)(0)=ACS, ATMEL
Arr(2)(0)=ATM, ATMEL
Arr(3)(0)=ES2, ATMEL
Arr(4)(0)=EUR, ATMEL
Arr(5)(0)=MRS, ATMEL
Arr(6)(0)=NPM, ATMEL
Ar2(1)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar2(2)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar2(3)(0)=ATM, TQFP, 14X14, 64, 4101132111
Ar3(1)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(2)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(3)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(4)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(5)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(6)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(7)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(8)(0)=ATM, LQFP, 14X14, 128, 4101132111
Ar3(9)(0)=ATM, LQFP, 14X14, 80, 4101132111
Ar3(10)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(11)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(12)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(13)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(14)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(15)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(16)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(17)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(18)(0)=ATM, LQFP, 14X14, 128, 4101132111
Ar3(19)(0)=ATM, LQFP, 14X14, 80, 4101132111
Ar3(20)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(21)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(22)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(23)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(24)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(25)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(26)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(27)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(28)(0)=ATM, LQFP, 14X14, 128, 4101132111
Ar3(29)(0)=ATM, LQFP, 14X14, 80, 4101132111
Ar3(30)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar2(4)(0)=MRS, TQFP, 14X14, 64, 4101149111
Ar3(31)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(32)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(33)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(34)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(35)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(36)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(37)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(38)(0)=ATM, LQFP, 14X14, 128, 4101132111
Ar3(39)(0)=ATM, LQFP, 14X14, 80, 4101132111
Ar3(40)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(41)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(42)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(43)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(44)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(45)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(46)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(47)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(48)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(49)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(50)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(51)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(52)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(53)(0)=ATM, LQFP, 14X14, 128, 4101132111
Ar3(54)(0)=ATM, LQFP, 14X14, 80, 4101132111
Ar3(55)(0)=ATM, LQFP, 14X14, 64, 4101132111
Ar3(56)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(57)(0)=ATM, TQFP, 14X14, 64, 4101149111
Ar3(58)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(59)(0)=ATM, TQFP, 14X14, 100, 4101149111
Ar3(60)(0)=ATM, TQFP, 14X14, 100, 4101149111

KING YUAN, VFBGA, 12.6X12.6, 641
Arr(1)(0)=KYE, KING YUAN
Arr(2)(0)=KYE, KING YUAN
Ar2(1)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(1)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(2)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar2(2)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(3)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(4)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar3(5)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(6)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111

ATI, BGA, 23X23, 0
Arr(1)(0)=ATI, ATI

MEDTRONIC, LFBGA, 10.5X14, 191
Arr(1)(0)=MTN, MEDTRONIC

ATMEL, LFBGA, 15X15, 217
Arr(1)(0)=ACS, ATMEL
Arr(2)(0)=ATM, ATMEL
Arr(3)(0)=ES2, ATMEL
Arr(4)(0)=EUR, ATMEL
Arr(5)(0)=MRS, ATMEL
Arr(6)(0)=NPM, ATMEL

CYPRESS, UFBGA, 7X5, 111
Arr(1)(0)=CPS, CYPRESS
Arr(2)(0)=CPS, CYPRESS
Ar2(1)(0)=CPS, UFBGA, 7X5, 111, 4102340111
Ar3(1)(0)=PRD, UFBGA, 7X5, 111, 4102340111
Ar2(2)(0)=CPS, UFBGA, 7X5, 111, 4102340111
Ar3(2)(0)=PRD, UFBGA, 7X5, 111, 4102340111
Ar3(3)(0)=PRD, UFBGA, 7X5, 111, 4102340111

M.T.K., VFBGA, 13X13.4, 0
Arr(1)(0)=UM9, M.T.K.

SILERGY, LQFP, 10X10, 64

ATI, BGA, 29X29, 962
Arr(1)(0)=ATI, ATI

M.T.K., VFBGA, 13X13.4, 873
Arr(1)(0)=UM9, M.T.K.
Ar2(1)(0)=UM9, VFBGA, 13X13.4, 873, 4102319111

M.T.K., VFBGA, 13X13.4, 0
Arr(1)(0)=UM9, M.T.K.

M.T.K., VFBGA, 13X13.4, 873
Arr(1)(0)=UM9, M.T.K.
Ar2(1)(0)=UM9, VFBGA, 13X13.4, 873, 4102319111

KING YUAN, VFBGA, 12.6X12.6, 641
Arr(1)(0)=KYE, KING YUAN
Arr(2)(0)=KYE, KING YUAN
Ar2(1)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(1)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(2)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar2(2)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(3)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(4)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar3(5)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(6)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111

KING YUAN, VFBGA, 12.6X12.6, 641
Arr(1)(0)=KYE, KING YUAN
Arr(2)(0)=KYE, KING YUAN
Ar2(1)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(1)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(2)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar2(2)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(3)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(4)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar3(5)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(6)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111

KING YUAN, VFBGA, 12.6X12.6, 641
Arr(1)(0)=KYE, KING YUAN
Arr(2)(0)=KYE, KING YUAN
Ar2(1)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(1)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(2)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar2(2)(0)=KYE, VFBGA, 12.6X12.6, 641, 4101073111
Ar3(3)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(4)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111
Ar3(5)(0)=UM9, VFBGA, 12.6X12.6, 677, 4101073111
Ar3(6)(0)=UM9, BGA, 12.6X12.6, 669, 4101073111

CYPRESS, LBGA, 6X10, 48
Arr(1)(0)=CPS, CYPRESS
Arr(2)(0)=CPS, CYPRESS
Ar2(1)(0)=CPS, LBGA, 6X10, 48, 4101906111
Ar2(2)(0)=CPS, LBGA, 6X10, 48, 4101906111

STM, LFBGA, 15X15, 289
Arr(1)(0)=THM, STM
Arr(2)(0)=THM, STM
Arr(3)(0)=THM, STM
Arr(4)(0)=THM, STM

M.T.K., VFBGA, 10.6X11, 475
Arr(1)(0)=UM9, M.T.K.
Ar2(1)(0)=UM9, VFBGA, 10.6X11, 475, 4101668111

M.T.K., TFBGA, 10.2X11, 0
Arr(1)(0)=UM9, M.T.K.

M.T.K., VFBGA, 13X13.4, 873
Arr(1)(0)=UM9, M.T.K.
Ar2(1)(0)=UM9, VFBGA, 13X13.4, 873, 4102319111

CYPRESS, LFBGA, 10X10, 121
Arr(1)(0)=CPS, CYPRESS
Arr(2)(0)=CPS, CYPRESS
Ar2(1)(0)=CPS, LFBGA, 10X10, 121, 4102601111
Ar2(2)(0)=CPS, LFBGA, 10X10, 121, 4102601111

TOP

回復 46# starbox520
是沒轉回 (CODE -> CUST_GROUP),眼花撩亂地弄得頭暈了。

TOP

回復 46# starbox520
請核對一下附件內容是否正確。
1.rar (2.06 KB)

TOP

回復 50# starbox520
再麻煩仔細校對是否為 "第一種" 選項之正確答案:
a.rar (2.79 KB)
確定後,始能進行下一步驟的撰寫事宜。

TOP

回復 50# starbox520
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.    
  3.     If IsError(Target(1)) Then Unload frmSelector:         Exit Sub
  4.      
  5.     '  If (Target(1).Row + 1) Mod 5 = 0 And Target(1) <> "" And Target(1).Column = 5 Then
  6.     If (Target(1).Row + 1) Mod 5 = 0 And Target(1) <> "" And Target(1).Column = 6 Then
  7.         Set Sh_Rng = Cells(Target(1).Row, "F")

  8.         AuditCustPkg (Cells(Target(1).Row, "F"))

  9.         If IsEmpty(Sh_Ar) Then MsgBox Sh_Rng & "-" & Sh_Rng(1, 2) & vbLf & "找不到": Exit Sub
  10.         Unload frmSelector
  11.         frmSelector.Show False
  12.     Else
  13.         Unload frmSelector
  14.     End If
  15. End Sub
複製代碼

TOP

  1. Private Sub CustPkg(Ar3 As Variant)
  2.     Dim c As Variant, Ar As Variant, cts As Integer, tf As Boolean
  3.     Dim i As Integer, ii As Integer, frstAddr As String
  4.    
  5.     Sh_Ar = Ar
  6.    
  7.     With Sheets("工作表2")
  8.         For cts = LBound(Ar3) To UBound(Ar3)
  9.             Set c = .[A:A].Find(Ar3(cts)(0), , , 1)       '  "TR排機&產出" Customer 比對 "Cus簡碼"
  10.             '  Set c = .[A:A].Find(Ar3(1)(0), , , 1)      '  "TR排機&產出" Customer 比對 "Cus簡碼"
  11.         
  12.             If Not c Is Nothing Then
  13.                 frstAddr = c.Address
  14.                 Do
  15.                     If c.Offset(, 1) = Ar3(cts)(1) And c.Offset(, 2) = Ar3(cts)(2) Then
  16.                     '  If c.Offset(, 1) = Ar3(1)(1) And c.Offset(, 2) = Ar3(1)(2) Then
  17.                        tf = True
  18.                        If IsEmpty(Ar) Then
  19.                             ReDim Ar(1 To 8, 1 To 1)
  20.                         Else
  21.                             For i = 1 To UBound(Ar, 2)
  22.                                 If Ar(1, i) = c.Offset(, 1).Text And Ar(2, i) = c.Offset(, 2).Text And Ar(3, i) = c.Offset(, 3).Text And Ar(4, i) = c.Offset(, 4).Text Then tf = False
  23.                             Next i
  24.                             If tf Then ReDim Preserve Ar(1 To 8, 1 To UBound(Ar, 2) + 1)
  25.                         End If
  26.                         If tf Then
  27.                             For ii = 1 To 8
  28.                                 Ar(ii, UBound(Ar, 2)) = c.Offset(, ii).Text
  29.                             Next
  30.                         End If
  31.                     End If
  32.                
  33.                     Set c = .[A:A].FindNext(c)
  34.                 Loop While Not c Is Nothing And c.Address <> frstAddr
  35.             End If
  36.         Next cts        
  37.     End With
  38.    
  39.     If IsEmpty(Ar) Then Exit Sub
  40.     Sh_Ar = Application.Transpose(Ar)
  41. End Sub
複製代碼

TOP

本帖最後由 c_c_lai 於 2016-12-2 10:43 編輯
  1. Sub AuditCustPkg(Adt_Rng As Range)
  2.     Dim c As Range, frstAddr As String, tf As Boolean
  3.     Dim cts As Integer, ct2 As Integer
  4.     Dim Arr As Variant, Ar2 As Variant, Ar3 As Variant
  5.    
  6.     With Sheets("Cus簡碼")
  7.         Set c = .[B:B].Find(Adt_Rng.Offset(, -1).Value, , , 1)  ' "TR排機&產出" Customer 比對 "Cus簡碼" CUST_GROUP
  8.         
  9.         If Not c Is Nothing Then
  10.             frstAddr = c.Address
  11.             Do
  12.                 If IsEmpty(Arr) Then ReDim Arr(1 To 1) Else ReDim Preserve Arr(1 To UBound(Arr) + 1)
  13.                 Arr(UBound(Arr)) = Array(c.Offset(, -1).Text, c.Text)
  14.                
  15.                 Set c = .[B:B].FindNext(c)
  16.             Loop While Not c Is Nothing And c.Address <> frstAddr
  17.         End If
  18.     End With
  19.    
  20.     If Not IsEmpty(Arr) Then
  21.         With Sheets("材料")
  22.             For cts = LBound(Arr) To UBound(Arr)
  23.                 Set c = .[M:M].Find(Arr(cts)(0), , , 1)      '  "Cus簡碼" CODE 比對 "材料" CUST_CODE
  24.                
  25.                 If Not c Is Nothing Then      '  Arr(cts)(0) = "ASM" : Variant/String
  26.                     frstAddr = c.Address
  27.                     Do
  28.                         '  以 "TR排機&產出" 的  "F"、"G"、"H" 為條件,去 "材料" 找到對應的數據。
  29.                         '  第 1 種 (相同 Cust (c.Value) & PKG (c.Offset(, 3))  & B/S (c.Offset(, 4)) & L/C (c.Offset(, 5)))
  30.                         If c.Offset(, 3) = Adt_Rng.Value And c.Offset(, 4) = Adt_Rng.Offset(, 1).Value And c.Offset(, 5) = CStr(Adt_Rng.Offset(, 2).Value) Then
  31.                             If IsEmpty(Ar2) Then ReDim Ar2(1 To 1) Else ReDim Preserve Ar2(1 To UBound(Ar2) + 1)
  32.                             Ar2(UBound(Ar2)) = Array(c.Text, Arr(cts)(1), c.Offset(, 3).Text, c.Offset(, 4).Text, c.Offset(, 5).Text, c.Offset(, 39).Text, c.Offset(, 40).Text)
  33.                         End If
  34.                         
  35.                         Set c = .[M:M].FindNext(c)
  36.                     Loop While Not c Is Nothing And c.Address <> frstAddr
  37.                 End If
  38.                
  39.                 If Not IsEmpty(Ar2) Then
  40.                     For ct2 = LBound(Ar2) To UBound(Ar2)
  41.                         '  以 工作表 "TR排機&產出" 的  "F"、"G"、"H" 為條件, 去 工作表 "材料" 找到對應的數據;
  42.                         '  然後找到這筆數據的 "CARRIER1 P/N",然後只要一樣 "CARRIER1 P/N" 的都列出來。
  43.                         Set c = .[BA:BA].Find(Ar2(ct2)(6), , , 1)   '  CARRIER1 P/N ("BA")  Ar2(ct2)(6) = "4100998111" : Variant/String
  44.                         
  45.                         If Not c Is Nothing Then   ' PKG (c.Offset(, -37)) 、 BODU_SIZE (c.Offset(, -36))
  46.                             frstAddr = c.Address   ' CUST_CODE (c.Offset(, -40).Text)、, LEAD_COUNT (c.Offset(, -35).Text)
  47.                             Do  '  "BA" 欄位指的是籃子,只要是在同個籃子內的就可以,要的就是想知道用這個籃子的有哪些人。
  48.                                 '  同步地排除原先在 工作表 "TR排機&產出" 點選的 Package。(Customer、Package、Bodysize)
  49.                                 '  修正以 "Cus簡碼" Arr 之第一組 (Arr(1)(0)) 作為判斷依據。
  50.                                 tf = (c.Offset(, -40).Text = Arr(1)(0) And c.Offset(, -37) = Adt_Rng.Value And c.Offset(, -36) = Adt_Rng.Offset(, 1).Value)
  51.                                 If Ar2(ct2)(1) <> "" And tf = False Then
  52.                                     If IsEmpty(Ar3) Then ReDim Ar3(1 To 1) Else ReDim Preserve Ar3(1 To UBound(Ar3) + 1)
  53.                                     Ar3(UBound(Ar3)) = Array(Ar2(ct2)(1), c.Offset(, -37).Text, c.Offset(, -36).Text, c.Offset(, -35).Text, c.Text)
  54.                                 End If

  55.                                 Set c = .[BA:BA].FindNext(c)
  56.                             Loop While Not c Is Nothing And c.Address <> frstAddr
  57.                         End If
  58.                     Next ct2
  59.                 End If
  60.             Next cts
  61.         End With
  62.         
  63.         If Not IsEmpty(Ar3) Then CustPkg (Ar3)
  64.     End If
  65.    
  66. Sub AuditCustPkg(Adt_Rng As Range)
  67.     Dim c As Range, frstAddr As String, tf As Boolean
  68.     Dim cts As Integer, ct2 As Integer
  69.     Dim Arr As Variant, Ar2 As Variant, Ar3 As Variant
  70.    
  71.     With Sheets("Cus簡碼")
  72.         Set c = .[B:B].Find(Adt_Rng.Offset(, -1).Value, , , 1)  ' "TR排機&產出" Customer 比對 "Cus簡碼" CUST_GROUP
  73.         
  74.         If Not c Is Nothing Then
  75.             frstAddr = c.Address
  76.             Do
  77.                 If IsEmpty(Arr) Then ReDim Arr(1 To 1) Else ReDim Preserve Arr(1 To UBound(Arr) + 1)
  78.                 Arr(UBound(Arr)) = Array(c.Offset(, -1).Text, c.Text)
  79.                
  80.                 Set c = .[B:B].FindNext(c)
  81.             Loop While Not c Is Nothing And c.Address <> frstAddr
  82.         End If
  83.     End With
  84.    
  85.     If Not IsEmpty(Arr) Then
  86.         With Sheets("材料")
  87.             For cts = LBound(Arr) To UBound(Arr)
  88.                 Set c = .[M:M].Find(Arr(cts)(0), , , 1)      '  "Cus簡碼" CODE 比對 "材料" CUST_CODE
  89.                
  90.                 If Not c Is Nothing Then      '  Arr(cts)(0) = "ASM" : Variant/String
  91.                     frstAddr = c.Address
  92.                     Do
  93.                         '  以 "TR排機&產出" 的  "F"、"G"、"H" 為條件,去 "材料" 找到對應的數據。
  94.                         '  第 1 種 (相同 Cust (c.Value) & PKG (c.Offset(, 3))  & B/S (c.Offset(, 4)) & L/C (c.Offset(, 5)))
  95.                         If c.Offset(, 3) = Adt_Rng.Value And c.Offset(, 4) = Adt_Rng.Offset(, 1).Value And c.Offset(, 5) = CStr(Adt_Rng.Offset(, 2).Value) Then
  96.                             If IsEmpty(Ar2) Then ReDim Ar2(1 To 1) Else ReDim Preserve Ar2(1 To UBound(Ar2) + 1)
  97.                             Ar2(UBound(Ar2)) = Array(c.Text, Arr(cts)(1), c.Offset(, 3).Text, c.Offset(, 4).Text, c.Offset(, 5).Text, c.Offset(, 39).Text, c.Offset(, 40).Text)
  98.                         End If
  99.                         
  100.                         Set c = .[M:M].FindNext(c)
  101.                     Loop While Not c Is Nothing And c.Address <> frstAddr
  102.                 End If
  103.                
  104.                 If Not IsEmpty(Ar2) Then
  105.                     For ct2 = LBound(Ar2) To UBound(Ar2)
  106.                         '  以 工作表 "TR排機&產出" 的  "F"、"G"、"H" 為條件, 去 工作表 "材料" 找到對應的數據;
  107.                         '  然後找到這筆數據的 "CARRIER1 P/N",然後只要一樣 "CARRIER1 P/N" 的都列出來。
  108.                         Set c = .[BA:BA].Find(Ar2(ct2)(6), , , 1)   '  CARRIER1 P/N ("BA")  Ar2(ct2)(6) = "4100998111" : Variant/String
  109.                         
  110.                         If Not c Is Nothing Then   ' PKG (c.Offset(, -37)) 、 BODU_SIZE (c.Offset(, -36))
  111.                             frstAddr = c.Address   ' CUST_CODE (c.Offset(, -40).Text)、, LEAD_COUNT (c.Offset(, -35).Text)
  112.                             Do  '  "BA" 欄位指的是籃子,只要是在同個籃子內的就可以,要的就是想知道用這個籃子的有哪些人。
  113.                                 '  同步地排除原先在 工作表 "TR排機&產出" 點選的 Package。(Customer、Package、Bodysize)
  114.                                 '  修正以 "Cus簡碼" Arr 之第一組 (Arr(1)(0)) 作為判斷依據。
  115.                                 tf = (c.Offset(, -40).Text = Arr(1)(0) And c.Offset(, -37) = Adt_Rng.Value And c.Offset(, -36) = Adt_Rng.Offset(, 1).Value)
  116.                                 If Ar2(ct2)(1) <> "" And tf = False Then
  117.                                     If IsEmpty(Ar3) Then ReDim Ar3(1 To 1) Else ReDim Preserve Ar3(1 To UBound(Ar3) + 1)
  118.                                     Ar3(UBound(Ar3)) = Array(Ar2(ct2)(1), c.Offset(, -37).Text, c.Offset(, -36).Text, c.Offset(, -35).Text, c.Text)
  119.                                 End If

  120.                                 Set c = .[BA:BA].FindNext(c)
  121.                             Loop While Not c Is Nothing And c.Address <> frstAddr
  122.                         End If
  123.                     Next ct2
  124.                 End If
  125.             Next cts
  126.         End With
  127.         
  128.         If Not IsEmpty(Ar3) Then CustPkg (Ar3)
  129.     End If
  130.    
  131.     Set Arr = Nothing
  132.     Set Ar2 = Nothing
  133.     Set Ar3 = Nothing
  134. End Sub
複製代碼

a.rar (2.79 KB)

TOP

回復 55# starbox520
妳將我目前修正的程式碼套入你的程式中,
跑一次看看結果是否如你所願?

TOP

回復 57# starbox520
三支程式皆應放入到 工作表單 "TR排機&產出" 內,
如不行妳將妳的程式上傳,我來幫妳整理。

TOP

回復 59# starbox520
妳將 AuditCustPkg(Adt_Rng As Range) 重複貼置,
AuditCustPkg(Adt_Rng As Range) 內又有一個
AuditCustPkg(Adt_Rng As Range)。
TTS0000CC.rar (816.07 KB)

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題