Board logo

標題: 陣列問題 [打印本頁]

作者: funnydisk    時間: 2012-10-3 02:13     標題: 陣列問題

請教各位前輩,我想要將每一個員工的薪資,利用 薪資檔案() 做成資料
因公司員工編號有跳號,例如001, 003, 006, 008...,但我不大會寫陣列,我想要把員工編號當成變數,請問如何修改,謝謝

Dim Pay(), I As Integer
    Pay = Array("001", "003", "006", "008")  '員工編號
    For I = 1 To AR()+ 1
        Call 薪資檔案(AR(I))
    Next
作者: GBKEE    時間: 2012-10-3 06:34

回復 1# funnydisk
請附檔看看
作者: c_c_lai    時間: 2012-10-3 06:51

本帖最後由 c_c_lai 於 2012-10-3 06:53 編輯

回復 1# funnydisk
如果員工資料眾多,一般我個人是不太建議使用陣列,因為它會佔據過多的記憶體,
使得執行速度變得遲緩,效益不佳。你何不試試這種方式:
          A                        B                       C
1      001                  張三                  ...........
2      003                  王五                  ...........
3      006                  趙六                  ...........
4      008                  李四                  ...........
  1. Sub Test()
  2.     Dim rng As Range
  3.     '  擷取員工編號的範圍
  4.     For Each rng In 工作表1.Range("A1:A" & 工作表1.[A1].End(xlDown).Row)
  5.         ' Call 薪資檔案(rng)
  6.         MsgBox rng & "   ,   " & rng.Offset(, 1)  
  7.         ' 第一個內容會顯示 001 , 張三, 第二個內容會顯示 003 , 王五, ....... 等。
  8.     Next
  9. End Sub
複製代碼

作者: funnydisk    時間: 2012-10-4 21:56

回復 3# c_c_lai

感謝c_c_lai大大,果然range比較好用,執行又快,謝謝




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