返回列表 上一主題 發帖

[發問] 執行階段錯誤'380'

[發問] 執行階段錯誤'380'

各位大神,我在做一個查詢系統
當我選擇sheet2然後用combobox2篩選完後
想要讓某幾個欄位直接在listbox上顯示,所以有了簡易查看的按鈕
但是抓到AJ欄時,卻一直顯示[執行階段錯誤'380']
請問有哪媦g錯嗎?
test.zip (27.46 KB)

回復 1# wang077
有大神幫幫忙嗎
還是是我解釋的不清楚?
我做了一個查詢系統在uesrform1
選完班別後按確定
然後選機種
選完機種後按簡易查看
問題就是最後的數值無法顯示在listbox上

TOP

本帖最後由 singo1232001 於 2021-7-29 10:47 編輯

回復 2# wang077

test.zip (26.39 KB)

TOP

回復 3# singo1232001
大大,請問我那樣寫為何抓取不到?
另外如果改成這樣,我在簡易查詢的時候,有辦法只抓取到入庫、良品、良率這三行的資料嗎
然後前面A、B欄在簡易查詢時不要重複
test.zip (28.5 KB)

TOP

本帖最後由 singo1232001 於 2021-7-29 13:00 編輯

回復 4# wang077

http://forum.twbts.com/thread-23251-1-2.html
之前的規則 主要我整理了兩種匯入方式
這次你的問題 剛好在我沒寫到的範圍外 當時也沒問題就沒花時間深入摸索

目前你所使用的是屬於additem的"陣列一次匯入"方式
(雖然沒出現additem)
但直接用陣列匯入 也算此類

原因在於個別 additem 無法超過10欄位
只能靠陣列匯入 才能超過10欄位

這種邊篩選又篩選的呈現方式 其實要好好考慮有無其必要
此方式後期大方向會非常複雜

建議用以下三種方式
1.改用第一種推薦的方式 用新增暫存表當作篩選區
2.不要在工作表處理篩選問題 只要用上userform1篩選
3.就只用工作表處理篩選問題 不要用上 userform1

test v1.zip (25.45 KB)

TOP

本帖最後由 samwang 於 2021-7-29 13:04 編輯

回復 1# wang077

是這樣嗎? 請測試看看,謝謝
Private Sub ComboBox2_Change()
Range("$A$2:$AJ$65536").AutoFilter Field:=1, Criteria1:=ComboBox2.Text
End Sub

Private Sub CommandButton3_Click()
Dim Arr, Ar(), i&, j&
b = ComboBox1.Text
Sheets(b).Select
If Me.ComboBox2.Text <> "" And Me.ComboBox3.Text = "" Then
    Arr = Sheets(b).AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible)
    ReDim Ar(1 To UBound(Arr) + 1, 1 To UBound(Arr, 2))
    For j = 1 To UBound(Arr, 2)
        For i = 1 To UBound(Arr)
            If Arr(i, j) <> "" Then
            If j <> j1 Then j1 = j: n = n + 1
            If Ar(1, n) = "" Then Ar(1, n) = Cells(2, j)
            Ar(i + 1, n) = Arr(i, j)
            End If
        Next
    Next
    With Me.ListBox1
      .List = Ar
      .ColumnCount = n
    End With
End If
Sheets(b).Select
End Sub

TOP

回復 5# singo1232001
如果是把篩選的結果複製到新的工作表呢?
這樣會比較好處理嗎?
大大,我用你的檔案下去測試,listbox上良品的數值顯示好像錯誤了
好像也會抓到報廢那行

TOP

回復 6# samwang
測試過了,沒問題
如果listbox只要顯示A、B、C、D、AJ欄,且A、B、C欄不重複顯示呢?
還有AJ欄的良率,listbox上有辦法顯示xx.x%嗎
test.zip (29.21 KB)

TOP

回復 1# wang077


    經驗分享:資料改為直式的好處,以樓主範例為例
1.日期可以持續擴充
2.欄位可以局部擴充
3.可以計算多種良率
  3.1.個別良率
  3.2.機台合計良率
  3.3.料號合計良率
  3.4.日期合計良率
  3.5.全部產品良率
  3.6.其他想要計算的良率
4.容易查詢歷史資料

以上參考!

入出庫管理-8.zip (57.63 KB)

TOP

回復 9# Andy2483
這也太強大,要理解程式碼虛要一點時間了
也謝謝大大提供方法參考

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題