- 帖子
- 192
- 主題
- 15
- 精華
- 0
- 積分
- 194
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- office2010
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2016-9-22
- 最後登錄
- 2020-8-28
 
|
46#
發表於 2016-10-26 20:50
| 只看該作者
本帖最後由 starbox520 於 2016-10-26 20:51 編輯
回復 45# GBKEE - Option Explicit
- Private Sub UserForm_Initialize()
- StartupPosition = 0
- Top = 0
- Left = Windows(1).Width - Width
- lstSelector_設定
- End Sub
- Private Sub lstSelector_設定()
- With lstSelector
- '**反百的部分可以只能反白一筆 ,不要這麼多筆嗎
- ' **取消 .MultiSelect = 1 *** MultiSelect 屬性 指定物件是否接受多重選取。
- If Not IsEmpty(Sheets("TR排機&產出").Sh_Ar) Then .List = Sheets("TR排機&產出").Sh_Ar
- End With
- With ListBox1 '**frmSelector中的第二個ListBox 控制項
- .ColumnCount = 9
- .ColumnWidths = "60,35,75,40,30,60,30,70,30"
- End With
- End Sub
- Private Sub lstSelector_Change()
- If lstSelector.ListIndex > -1 Then Ex_WIP
- End Sub
- Private Sub Ex_WIP()
- Dim i As Integer, Ar, A(1 To 4), Ab(), ii As Integer
- With Me.lstSelector
- For i = 0 To 3
- A(i + 1) = .List(.ListIndex, i)
- Next
- End With
- i = 2
- With Sheets("WIP")
- Do While .Cells(i, 1) <> ""
- 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
- If IsEmpty(Ar) Then ReDim Ar(1 To 1) Else ReDim Preserve Ar(1 To UBound(Ar) + 1)
- ReDim Ab(1 To 1, 1 To 9)
- For ii = 1 To 8
- Ab(1, ii) = .Cells(i, ii + 1) ' 8欄資料: B欄- I欄
- Next
- Ab(1, 9) = .Cells(i, "K") 'K欄
- Ar(UBound(Ar)) = Ab
- '** Listbox 最多顯示 9列
- End If
- i = i + 1
- Loop
- End With
- With ListBox1
- .Clear
- If UBound(Ar) > 1 Then
- .List = Application.Transpose(Application.Transpose(Ar))
- ElseIf UBound(Ar) = 1 Then
- .List = Ar(1)
- End If
- End With
- '***********************************
- End Sub
- Private Sub CommandButton1_Click()
- Dim AA, i As Integer, ii As Integer
- With lstSelector
- For i = 0 To .ListCount - 1
- If .Selected(i) Then
- If IsEmpty(AA) Then ReDim AA(1 To 4, 1 To 1) Else ReDim Preserve AA(1 To 4, 1 To UBound(AA, 2) + 1)
- For ii = 1 To 4
- AA(ii, UBound(AA, 2)) = .List(i, ii - 1)
- Next
- End If
- Next
- End With
- If IsEmpty(AA) Then
- MsgBox "你沒有選取資料"
- ElseIf UBound(AA, 2) > 4 Then
- MsgBox "你選取 超過 4 筆 資料"
- Else
- If MsgBox("共 選取 " & UBound(AA, 2) & " 筆資料" & vbLf & "確定輸入", vbYesNo) = vbYes Then
- With Sheets("TR排機&產出").Sh_Rng.Offset(1)
- .Resize(4, 4) = ""
- .Resize(UBound(AA, 2), UBound(AA)) = Application.Transpose(AA)
- End With
- End If
- End If
- End Sub
複製代碼 哪裡錯了呢= =他一直說型態不符... 我是2010的應該跟2003相通呀....
一直顯示Ar的參數型態有問題
第一個ListBox應該是列出相近的後,剩餘的資料再以工作表2"數量"大小顯示
這個可以列入嗎
|
|