返回列表 上一主題 發帖

[發問] 下拉式清單裡選擇"篩選不重複的資料"

本帖最後由 Hsieh 於 2013-2-26 14:18 編輯

回復 3# lifedidi

Sheet2模組
  1. Private Sub CommandButton1_Click()
  2.    FormA.Show 0
  3. End Sub
複製代碼
FormA模組
  1. Private Sub CommandButton1_Click()
  2. FormB.Show 0
  3. End Sub

  4. Private Sub UserForm_Initialize()
  5. Set d = CreateObject("Scripting.Dictionary")
  6. With Sheet1
  7.    For Each a In .Range(.[A2], .[A1].End(xlDown))
  8.    d(a.Value) = ""
  9.    Next
  10. End With
  11. ComboBox1.List = d.keys
  12. End Sub
複製代碼
FormB模組
  1. Private Sub CommandButton1_Click()
  2. FormC.Show 0
  3. FormC.計算 1
  4. End Sub

  5. Private Sub CommandButton2_Click()
  6. FormC.Show 0
  7. FormC.計算 2
  8. End Sub
複製代碼
FormC模組
  1. Sub 計算(work As Integer)
  2. Dim Ar()
  3. With Sheet1
  4.    For Each a In .Range(.[A2], .[A1].End(xlDown))
  5.       If a.Value = FormA.ComboBox1.Value Then
  6.          ReDim Preserve Ar(s)
  7.          Ar(s) = a.Offset(, 1).Value
  8.          s = s + 1
  9.       End If
  10.    Next
  11. End With
  12. If work = 1 Then ListBox1.AddItem Format(Application.Sum(Ar), "hh:mm:ss")
  13. If work = 2 Then ListBox1.AddItem Format(Application.Average(Ar), "hh:mm:ss")
  14. End Sub
複製代碼
Form Test.zip (12.55 KB)
學海無涯_不恥下問

TOP

謝謝超級版主的幫忙

這筆資料為

sheet1:
  A  B
1 ● 3:05
2 ● 1:51
3 ○ 0:40
4 ○ 3:01
5 ○ 5:11
6 ※ 5:01
7 ※ 3:36
8 ※ 2:11

(*A為產品類別 B為需時)

小弟需要的流程:

【在Sheet2建立按鈕】→【按下後show出A視窗】→【下拉式清單選擇●○※之一】→【選擇●】→【點選確定】→【按下後show出B視窗】→【B視窗為兩個按鈕 1.總時間 2.平均時間】→【點選1.總時間】→【show出C視窗】→【C視窗有個ListBOX顯示出結果】

煩請大大指點,感謝。

TOP

回復 1# lifedidi
表單模組
  1. Private Sub UserForm_Initialize()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. With Sheet1
  4.    For Each a In .Range(.[A1], .[A1].End(xlDown))
  5.    d(a.Value) = ""
  6.    Next
  7. End With
  8. ComboBox1.List = d.keys
  9. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題