搜尋此網誌

2018年10月23日 星期二

[VBA]項次編號

[VBA]項次編號

[VBA]自動項次編號

編碼需求

工作的時候需要對於工項編碼,但是工項不是連續的所以沒辦法一次往下拉自動填入完成,這個時候就是用DO迴圈來做就很方便。

程式碼說明

  1. xc1不一定要從1開始,因為最上列通常為表格標題或說明,但就算設成1也不會有影響。
  2. 利用項目的性質判斷是否編碼,要編碼的工項有對齊向左非空白這兩種性質,所以利用.HorizontalAlignment = xlLeft<> ""來作為判斷式。
  3. 假設以上條件成立,則位置(xc1,1)的值為xc2,編碼起始值為1。成功填寫之後要記得讓xc2+1,數列才會變成1、2、3……,如果+2會變成1、3、5、7……以此類推,不一定要整數,小數也是可以。
  4. Do迴圈沒有預設前進的值,也就是說如果沒寫xc1 = xc1 + 1這行,xc1永遠不會變成r,就會造成無限迴圈的情況,一般判斷行列數都建議使用for迴圈比較方便。

沒有留言:

張貼留言