註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 儲存格(日期)相減時出現"執行階段錯誤13"
返回列表
下一主題
上一主題
發帖
[發問]
儲存格(日期)相減時出現"執行階段錯誤13"
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
1
#
跳轉到
»
發表於 2016-2-25 16:53
|
顯示全部帖子
回復
1#
morris_lth
試試這樣
sh6.Cells(l, 7) = Datediff("d",CDate(sh6.Cells(l, 5)),CDate(sh6.Cells(l, 6)))
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
stillfish00
發短消息
加為好友
stillfish00
當前離線
UID
9276
帖子
1018
主題
15
精華
0
積分
1058
金錢
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
在線時間
1141 小時
註冊時間
2012-5-9
最後登錄
2022-9-28
大學生
帖子
1018
主題
15
精華
0
積分
1058
點名
0
作業系統
win7 32bit
軟體版本
Office 2016 64-bit
閱讀權限
50
性別
男
來自
桃園
註冊時間
2012-5-9
最後登錄
2022-9-28
2
#
發表於 2016-2-25 19:06
|
顯示全部帖子
本帖最後由 stillfish00 於 2016-2-25 19:13 編輯
回復
4#
morris_lth
sh6.Cells(l, 6) => Range 物件
sh6.Cells(l, 5) => Range 物件
兩物件無法相減會採用 Range的預設屬性即.Value 相減
故會變 sh6.Cells(l, 6).Value - sh6.Cells(l, 5).Value
你用TypeName(sh6.Cells(l, 6).Value)會傳回 String,
表示 sh6.Cells(l, 6).Value 其實是字串。
字串無法相減(因此產生Error)
所以我用CDate把字串轉為Date資料型態
兩筆Date求間隔,用DateDiff來做,"d"表示計算間隔單位為"日"
另一種方法就是先設定好儲存格格式為日期,就不會誤判斷為字串。
日期格式2016/02/01出現錯誤,2016/2/1 就能正常?
你看看點兩下變為2016/2/1的儲存格,右鍵儲存格格式是不是變日期了?
1
評分人數
准提部林:
難得的佳解, 詳以說明更是難得!
金錢 + 5
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。
TOP
靜思自在 :
真正的愛心,是照顧好自己的這顆心。
返回列表
下一主題
上一主題
VB 與 VB.Net
新手測試
Excelㄧ般區
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲