- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
6#
發表於 2014-8-31 09:54
| 只看該作者
回復 4# lager.master
依你檔案中總表的欄位做的:- Sub bb()
- Dim iCol%
- Dim lRow&, lSRow&, lTRow&(0 To 1)
- Dim bComp As Boolean
- Dim rTar As Range
- Dim wsTar As Worksheet, wsSou As Worksheet
-
- Set wsTar = Sheets("總表")
- With Sheets("成員")
- lRow = 2
- lTRow(0) = 4
- lTRow(1) = 4
- Do While .Cells(lRow, 1) <> ""
- lSRow = 6
- Set wsSou = Sheets(CStr(.Cells(lRow, 1)))
- bComp = .Cells(lRow, 2) = "TT科技"
- iCol = bComp * -8
- With wsTar
- Do While wsSou.Cells(lSRow, iCol + 2) <> ""
- With .Cells(lTRow(bComp + 1), iCol + 2)
- .Value = wsSou.[E2] ' 廠商
- .HorizontalAlignment = xlCenter
- End With
- With .Cells(lTRow(bComp + 1), iCol + 3)
- .Value = wsSou.[C2] ' 姓名
- .HorizontalAlignment = xlCenter
- End With
- With .Cells(lTRow(bComp + 1), iCol + 4)
- .Value = wsSou.Cells(lSRow, 2) ' 工作日期
- .NumberFormat = "m""月""d""日"";@"
- End With
- .Cells(lTRow(bComp + 1), iCol + 5) = CDate(wsSou.Cells(lSRow, 3)) & " ~ " & CDate(wsSou.Cells(lSRow, 4)) ' 執行時間
- .Cells(lTRow(bComp + 1), iCol + 6) = wsSou.Cells(lSRow, 5) ' 工作代碼
- .Cells(lTRow(bComp + 1), iCol + 7) = wsSou.Cells(lSRow, 6) ' 數量
- .Cells(lTRow(bComp + 1), iCol + 8) = wsSou.Cells(lSRow, 7) ' 工作內容
- lSRow = lSRow + 1
- lTRow(bComp + 1) = lTRow(bComp + 1) + 1
- Loop
- End With
- lRow = lRow + 1
- Loop
- End With
- End Sub
複製代碼 基本上我設計程式的做法如下供你參考:
1. 先確定標的工作表 : 長官要看的是哪些資料, 需要做出怎樣的表格或圖形, 以決定 總表 需要有的資料與圖形可先試做個母版出來.
2. 確定資料來源與方式 : 資料是從 電腦報表 還是 人工輸入 來的? 要怎麼抓資料? 是否需要中繼表格來存放資料?(也就是先抓資料到中繼表格暫存,最後再抓到或經過計算到總表中)
3. 從資料來源製作中繼工作表(可做 筆數較少但須具代表性 的測試資料, 或是實際取得的來源資料).
4. 實作程式確定依據資料來源與方式是否能實作出來標的工作表? 若有疑慮是否需要調整 來源資料取得方式, 或是 標的工作表格式.
5. 檢視試作出來的標的表格資料是否正確, 呈閱長官範例標的表格是否符合長官預期?(呈閱前務必確認資料正確, 且應有較大幅度變動, 或是長官指示的階段異動項目都實現後再呈閱)
6. 持續步驟3 與 5 直至程式完成.
有幾個重點需要留意的:
1. 做出來的表格是長官要看的, 長官也有可能在檢視時又要求修改標的表格呈現方式, 所以這個互動很重要.
2. 來源資料不正確就做不出來正確的標的表格, 人工輸入有可能會出現格式錯誤或是輸錯內容的情形, 是否需要驗證?如何驗證?
公司的電腦報表也可能會更新, 資料抓取判斷的方式可能需要有彈性.
3. 儘量將重複的工作或程式碼做成 SUB 副程式(需變動的資料參數) 的方式來呼叫,
較易維護與找問題點.
你所問的問題:
1:由於外包有兩間公司. 放在同一個地方是否OK .還是得分頁
分不分頁有好有壞, 不分頁容易抓資料(因為都在同個工作表上), 分頁則較易管理與不容易爆表,
另外若人工輸入, 則分頁(甚至分檔)可以各人輸各人的資料, 避免看到其他人的資料.
還有也要看你有沒有其他的的需求, 是不是有其他的表格需要用到這些資料? 若有, 資料應怎樣呈現較易共用.
還要考慮資料是會異動且持續增加的, 要如何實作出增加, 刪除, 修改 內容, 是架構構建時就需要考慮的問題.
2:每天工作項目很多.但總表只需要抓每天每個人的效益比.該怎麼抓呢. 外包商總共有10人(10張工作表).是否有辦法自己抓資料到總表
你可以試著參照上述程式修改看看. |
|