返回列表 上一主題 發帖

[發問] ListBox與排序加總問題

回復 52# GBKEE


     可以了...原來是我放錯地方
     C大的方法是可行的~~~~~!!!!
     原始的工作表2我也修正好了!!!!
     原來這個關係是從我這邊出了問題....
   
      剩下的ListBox1   剩下的資料有辦法在加數量由大至小上去嗎
      #49(1)   所說的
     
     第2個LIstBox可以改成這9攔嗎
     


     附上我也修改好的    TR00.rar (569.21 KB)

TOP

回復 52# GBKEE


      系統顯示編輯時間超過了
      第2個LIstBox可以改成這9攔嗎   ( T/Y改成customer)     時間的資料大大您取到B欄"Queue Time"應該是P欄"Oven OutTime"
       Customer       Location       Device     Package      BodySize     LC        QTY        Schedule       Oven OutTime

TOP

回復 55# GBKEE

         
    回版大  我可能放在工作表2讓版大混淆這兩個資訊的關係
    這兩個資訊是完全沒有關係的....
   
    您目前第一個ListBox的資訊是對的,(是依據"工作表2"的Package.BodySize.LC  對應至"TR排機&產出")
    您呈現出來的資料是對的
    我後來解釋給版大的這張圖
    第一步.........是循問版大如果依條件篩選完後,呈現出來的這幾筆資料顯示在第一個ListBox後
    這幾筆資料是從工作表2去比對"TR排機&產出"
   
     第二步........... 下面那些資訊和"TR排機&產出"完全沒關係
     只是要把工作表2在"第一步"篩完剩下的資訊   
     以Package.BodySize相同,數量由大致小做排列
        
     再把結果接著放在
     第一個ListBox"第一步"做好的資訊下接著呈現  (下方資訊應不該再出現"第一步"的資訊)

TOP

回復 56# starbox520


    回版大 我後來有自己排出來了!!!!
    讓您頭痛了XDDD.....
    請問為什麼顯示一筆資料的時候會這樣呢
   

   
  1. Private Sub lstSelector_設定()
  2.     With lstSelector
  3.              ' **取消     .MultiSelect = 1            *** MultiSelect 屬性  指定物件是否接受多重選取。
  4.        If Not IsEmpty(Sheets("TR排機&產出").Sh_Ar) Then .List = Sheets("TR排機&產出").Sh_Ar
  5.     End With
  6.     With ListBox1  '**frmSelector中的第二個ListBox 控制項
  7.         .ColumnCount = 9
  8.         .ColumnWidths = "60,35,75,40,30,60,30,70,30"
  9.    
  10.     End With
  11. End Sub
  12. Private Sub lstSelector_Change()
  13.     If lstSelector.ListIndex > -1 Then Ex_WIP
  14. End Sub
  15. Private Sub Ex_WIP()
  16.     Dim i As Integer, Ar, A(1 To 4), Ab(), ii As Integer
  17.        With Me.lstSelector
  18.             For i = 0 To 3
  19.                 A(i + 1) = .List(.ListIndex, i)
  20.             Next
  21.        End With
  22.        i = 2
  23.     With Sheets("WIP")
  24.         Do While .Cells(i, 1) <> ""
  25.           '  If .Cells(i, "A") = A(1) And .Cells(i, "E") = A(2) And .Cells(i, "G") = A(3) And .Cells(i, "F") = A(4) Then
  26.             If .Cells(i, "A") = A(1) And .Cells(i, "E") = A(2) And .Cells(i, "G") = A(3) And CStr(.Cells(i, "F")) = A(4) Then
  27.                
  28.                 If IsEmpty(Ar) Then ReDim Ar(1 To 1) Else ReDim Preserve Ar(1 To UBound(Ar) + 1)
  29.          '顯示我要的資料
  30.          Ar(UBound(Ar)) = Array(.Cells(i, "A").Text, .Cells(i, "C").Text, .Cells(i, "D").Text, .Cells(i, "E").Text, .Cells(i, "G").Text, .Cells(i, "F").Text, .Cells(i, "K").Text, .Cells(i, "I").Text, .Cells(i, "P").Text) 'K欄
  31.          
  32.          
  33.                  '** Listbox 最多顯示 9列
  34.             End If
  35.             i = i + 1
  36.         Loop
  37.     End With
  38.     '***********************************
  39.     '**frmSelector中的第二個ListBox 控制項
  40.     With ListBox1
  41.         .Clear
  42.         If UBound(Ar) > 1 Then
  43.              .List = Application.Transpose(Application.Transpose(Ar))
  44.         ElseIf UBound(Ar) = 1 Then
  45.             .List = Ar(1)
  46.         End If
  47.     End With
  48.     '***********************************
  49. End Sub


  50. '******************************
  51. Public Sh_Rng As Range, Sh_Ar
  52. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  53.     If IsError(Target(1)) Then Unload frmSelector:         Exit Sub
  54.     If (Target(1).Row + 1) Mod 5 = 0 And Target(1) <> "" And Target(1).Column = 5 Then
  55.         Set Sh_Rng = Cells(Target(1).Row, "E")
  56.         Ex_Customer_Package
  57.         If IsEmpty(Sh_Ar) Then MsgBox Sh_Rng & "-" & Sh_Rng(1, 2) & vbLf & "找不到": Exit Sub
  58.         Unload frmSelector
  59.         frmSelector.Show False
  60.     Else
  61.         Unload frmSelector
  62.     End If
  63. End Sub
  64. Private Sub Ex_Customer_Package()


  65.     Dim i As Integer, ii As Integer, Ar
  66.     Sh_Ar = Ar:    i = 2
  67.     With Sheets("工作表2")
  68.         Do While .Cells(i, 1) <> ""
  69.             If .Cells(i, 1) = Sh_Rng And .Cells(i, 2) = Sh_Rng(1, 2) Then
  70.             If IsEmpty(Ar) Then ReDim Ar(1 To 8, 1 To 1) Else ReDim Preserve Ar(1 To 8, 1 To UBound(Ar, 2) + 1)
  71.                 For ii = 1 To 8
  72.                 Ar(ii, UBound(Ar, 2)) = .Cells(i, ii).Text
  73.                 Next
  74.             End If
  75.             i = i + 1
  76.         Loop
  77.     End With
  78.     If IsEmpty(Ar) Then Exit Sub
  79.     Sh_Ar = Application.Transpose(Ar)
  80. End Sub
複製代碼

TOP

回復 59# c_c_lai
  1. Public Sh_Rng As Range, Sh_Ar
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  3.    
  4.     If IsError(Target(1)) Then Unload frmSelector:         Exit Sub
  5.     If (Target(1).Row + 1) Mod 5 = 0 And Target(1) <> "" And Target(1).Column = 5 Then
  6.         
  7.         Set Sh_Rng = Cells(Target(1).Row, "E")
  8.         Ex_Customer_Package
  9.         
  10.         If IsEmpty(Sh_Ar) Then MsgBox Sh_Rng & "-" & Sh_Rng(1, 2) & vbLf & "找不到": Exit Sub
  11.         Unload frmSelector
  12.         frmSelector.Show False
  13.     Else
  14.         Unload frmSelector
  15.     End If
  16. End Sub
  17. Private Sub Ex_Customer_Package()

  18.     Dim i As Integer, ii As Integer, Ar
  19.     Sh_Ar = Ar:    i = 2
  20.    
  21.     With Sheets("工作表2")
  22.         Do While .Cells(i, 1) <> ""
  23.             If .Cells(i, 1) = Sh_Rng And .Cells(i, 2) = Sh_Rng(1, 2) Then
  24.             
  25.             If IsEmpty(Ar) Then ReDim Ar(1 To 8, 1 To 1) Else ReDim Preserve Ar(1 To 8, 1 To UBound(Ar, 2) + 1)
  26.                 For ii = 1 To 8
  27.                 Ar(ii, UBound(Ar, 2)) = .Cells(i, ii).Text
  28.                 Next
  29.             End If
  30.             i = i + 1
  31.         
  32.         Loop
  33.     End With
  34.    
  35.     If IsEmpty(Ar) Then Exit Sub
  36.     Sh_Ar = Application.Transpose(Ar)
  37.    
  38. End Sub
複製代碼
這是第一個listbox
   也是出現一樣的情形
   像這情況要怎麼做修改呢

TOP

回復 58# GBKEE


    謝謝版大給我這麼多資訊...
    讓我知道從中該修改什麼
    真的很謝謝你><""

TOP

回復 59# c_c_lai


    附上檔案給您
    第一個listbox也有此問題
   

TR 0006.rar (538.2 KB)

TOP

回復 64# c_c_lai


    謝謝C大
    還在研究你們的邏輯~"~

TOP

回復 65# GBKEE


     我還在研究你們的邏輯跟哪邊是在做什麼的
     用中斷點研究中...
     謝謝版大提醒XD

TOP

回復 65# GBKEE
  1. Private Sub Ex_Customer_Package()


  2.     Dim i As Integer, ii As Integer, Ar
  3.     Sh_Ar = Ar:    i = 2
  4.     With Sheets("工作表2")
  5.         Do While .Cells(i, 1) <> ""
  6.             If .Cells(i, 2) = Sh_Rng And .Cells(i, 3) = Sh_Rng(1, 2) Then
  7.             
  8.             If IsEmpty(Ar) Then ReDim Ar(1 To 8, 1 To 1) Else ReDim Preserve Ar(1 To 8, 1 To UBound(Ar, 2) + 1)
  9.                 For ii = 1 To 8
  10.                 Ar(ii, UBound(Ar, 2)) = .Cells(i, ii).Text
  11.                 Next
  12.             End If
  13.             i = i + 1
  14.         Loop
  15.     End With
  16.     If IsEmpty(Ar) Then Exit Sub
  17.     Sh_Ar = Application.Transpose(Ar)
  18. End Sub
複製代碼
這段如果改成以Package    BodySize  要怎麼修改呢

目前大大應該是用Customer    Package   去篩

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題