- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
5#
發表於 2010-8-7 23:44
| 只看該作者
回復 3# shadowming
依你上面說的情形我猜想你應該是在程式自動給值後再用手動去修改內容成你要的結果,
這樣下次程式給值後自然還是要再次經過 "手動" 去修改內容才會正確囉.
我想你可以先用程式將值丟到別的儲存格,
在透過中繼儲存格上個別公式計算,
最後再於原先要給值的儲存格上取引用算出來的值.
另一個方式就是在程式給值前就做好計算工作(如下述程式),
再將程式算好的值丟過去即可.
Sub test()
Dim sDate$
sDate = "99/4/8"
sDate = eDate2cDate(sDate)
End Sub
Function eDate2cDate(sDate As String) As String
Dim iYear, sMonth$, sDay$
iYear = Year(sDate)
sMonth = Month(sDate)
sDay = Day(sDate)
iYear = iYear + 11
eDate2cDate = DateSerial(iYear, sMonth, sDay)
End Function
你可以開一個新的Excel檔, 新增一個模組,再貼上上述程式,
將游標指定在 Sub 區塊內後按 F8 按鍵以單步模式執行,
然後觀看 "區域變數" 視窗中各變數的值即可得知各函數的作用. |
|