Board logo

標題: 如何整理[儲存格]的資料 [打印本頁]

作者: valenty823    時間: 2010-7-31 11:52     標題: 如何整理[儲存格]的資料

dear all :

小弟想請教各位先進一個問題,如下表

[attach]2124[/attach]

不知道 excel 要如何才能做到?
作者: kimbal    時間: 2010-7-31 15:57

回復 1# valenty823


    排班一/二如何分?
一 = 早+午
二 = 晚
?
作者: valenty823    時間: 2010-7-31 18:29

回復 2# kimbal

感謝您的回覆,
排班一和排班二其實並沒有規則,
而是依資料內容而定,
比如「甲」排了兩個班,所以會有兩筆資料並列顯示,
「丙」只排了一個班,所以資料只有一筆,
麻煩您給小弟一些建議,謝謝。
作者: Hsieh    時間: 2010-7-31 21:16

回復 3# valenty823


   基本上沒規則的工作程式是不能接受的
要知道排班規則才能依照規則寫出程式
作者: valenty823    時間: 2010-7-31 21:33

回復 4# Hsieh

對不起! 可能是小弟表達不佳。
工作表中 B4:D5 是我們填入排班人的名字,
F2:L5 則是依排班人的名字所整理出來的一覽表。

這樣子不知道能不能做出來?
作者: Hsieh    時間: 2010-7-31 22:24

本帖最後由 Hsieh 於 2010-7-31 23:28 編輯

回復 5# valenty823
  1. Sub yy()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. For Each a In Range([B4], [D65536].End(xlUp))
  4.   If d(a.Value) = "" Then
  5.   d(a.Value) = _
  6.   Join(Array(a, Cells(a.Row, 1).Value, Cells(2, a.Column).Value, Cells(3, a.Column).Value), ",")
  7.   Else
  8.     d(a.Value) = _
  9. d(a.Value) & "," & Join(Array(Cells(a.Row, 1).Value, Cells(2, a.Column).Value, Cells(3, a.Column).Value), ",")
  10.   End If
  11. Next
  12. [F2:O65536] = ""
  13. For Each ky In d.keys
  14. ar = Split(d(ky), ",")
  15. [F65536].End(xlUp).Offset(1, 0).Resize(, UBound(ar) + 1) = ar
  16. Next
  17. Range("A:A").Locked = False
  18. End Sub
複製代碼

作者: valenty823    時間: 2010-8-2 23:06

哇塞 !
萬分感謝 ! 立刻 try try see !




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)