- 帖子
- 104
- 主題
- 32
- 精華
- 0
- 積分
- 144
- 點名
- 0
- 作業系統
- windowsXP
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2013-2-25
- 最後登錄
- 2022-9-2

|
10#
發表於 2013-2-27 21:59
| 只看該作者
回復 8# Hsieh
大大你好:
以下為我程式碼,小弟愚昧,請幫忙修改。
想法:
【先篩選D7以下資料】→【再篩選G7以下資料】→【兩次篩選後的資料總工時相加(並把資料貼在C7之後)】
操作:
【第一視窗:選擇資料(D7篩選)按確定】→【第二視窗:選擇資料(G7篩選)案確定】→【第三視窗:ListBox秀出總工時】 *所篩選出的資料PO在C7之後
Sub 計算(work As Integer)
Dim Ar(), Ay()
With Sheet1
For Each a In .Range(.[D7], .[D7].End(xlDown))
If a.Value = 工種查詢x專案編號.ComboBox1.Value Then
ReDim Preserve Ar(s)
ReDim Preserve Ay(s)
Ar(s) = a.Offset(, 14).Value
Ay(s) = a.Offset(, -3).Resize(, 23).Value
s = s + 1
End If
Next
For Each a In .Range(.[G7], .[G7].End(xlDown))
If a.Value = 工種查詢x專案x選擇工種.ComboBox1.Value Then
ReDim Preserve Ar(x)
ReDim Preserve Ay(x)
Ar(x) = a.Offset(, 11).Value
Ay(x) = a.Offset(, -6).Resize(, 23).Value
x = x + 1
End If
Next
End With
If s > 0 Then
Sheet2.Range("C5").CurrentRegion.Offset(2) = ""
Sheet2.[C7].Resize(x, 23) = Application.Transpose(Application.Transpose(Ay))
If work = 1 Then ListBox1.AddItem Application.Text(Application.Sum(Ar), "[hh]:mm:ss")
End If
End Sub |
|