標題:
[發問]
31近位計算 如何把檔案變小
[打印本頁]
作者:
danny001
時間:
2010-8-6 03:47
標題:
31近位計算 如何把檔案變小
XXXX: 流水號,0~9, A~Z ( I,O,U,Q,E and combination 0000 除外)
以下是我個人使用最笨的方法寫出
請個位前輩教教!!謝謝
[attach]2246[/attach]
[attach]2245[/attach]
作者:
gong
時間:
2010-8-6 08:49
看不出你的問題所在地
要問那個工作表的哪個位置
希望條件為何請說明
不然無從下手
作者:
danny001
時間:
2010-8-6 21:23
因vba才剛剛接觸到我是想請教如vba來寫出是否可以ㄋ
謝謝!!
作者:
luhpro
時間:
2010-8-8 00:56
本帖最後由 luhpro 於 2010-8-8 02:52 編輯
回復
3#
danny001
原先以為你列出的資料是沒有規律性的,
後來發現在列表中除了 E I O Q U 等 5 個英文被拿掉以外,
其他都有按照順序排列,
所以利用了一些方式做出如 [attach]2286[/attach] 的檔案, (檔案大小從 4394KB 縮小到 18KB)
主要是將除了上述 5 個英文字以外的文字放入列表中,
然後當作是 31 進制的數字來計算個數即可.
比較特別的是驗證的部份因要考慮到文字必須在列表中,長度為 3 碼, 還要不包括 "000" 這個數,
所以用以下的公式來達成 :
=AND(MATCH(LEFTB(A2,1),$E$1
E$31,0)*MATCH(MIDB(A2,2,1),$E$1
E$31,0)*MATCH(RIGHTB(A2,1),$E$1
E$31,0)<>0,LENB(A2)=3,A2<>"000")
利用 Match() 函數來確認每個文字都有在列表中.
至於想改成 VBA 程式 :
1. 與 VBA 程式有關的討論應發表於
Excel程式區
2. 因你的檔案中沒什麼太多與計算有關的東西,
所以改成 VBA 程式可能程式所佔的空間反而變更大,
所以不是很建議你改用 VBA.
作者:
danny001
時間:
2010-8-9 02:03
謝謝前輩們的指導
請問何時要用VBA才比較適合ㄋ
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)