- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 149
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-6-21
               
|
14#
發表於 2013-2-1 15:25
| 只看該作者
回復 1# freeffly
這樣的下拉動作會受限於可用記憶體大小
用迴圈寫入公式來解決此問題
Range("AF4").Resize(, 8) = Array("單張片數", "片數1", "單張片數", "片數2", "最大差異", "多耗張數", "比例", "生產月份")
ar = Array( _
"=ROUNDDOWN(RC30/RC28,0)*ROUNDDOWN(RC31/RC29,0)", _
"=ROUNDDOWN(RC30/RC28,0)*ROUNDDOWN(RC31/RC29,0)*RC20", _
"=ROUNDDOWN(RC31/RC28,0)*ROUNDDOWN(RC30/RC29,0)", _
"=ROUNDDOWN(RC31/RC28,0)*ROUNDDOWN(RC30/RC29,0)*RC20", _
"=MAX(RC[-1],RC[-3])-RC[-24]", "=ROUND(RC[-1]/MIN(RC[-3],RC[-5]),2)", _
"=RC[-1]/RC20", _
"=IF(LEN(RC[-34])>9,YEAR(RC[-34])&TEXT(MONTH(RC[-34]),""00""),LEFT(RC[-34],3)+1911&RIGHT(LEFT(RC[-34],6),2))")
For i = 0 To 7
With Range("AF5").Offset(, i).Resize(5000, 1)
.NumberFormatLocal = "0.00_);[紅色](0.00)"
.FormulaR1C1 = ar(i)
End With
Next |
|