作者HILLFLY (假如時光倒流)
站內Office
標題[問題] excel vba 國曆轉西元
時間Sat Aug 25 19:00:17 2012
軟體:
excel 2010
版本:
小弟有軟體跑的資料
文字格式為國曆
1010728 17:30
小弟想把資料轉成日期格式用vba做
程式碼
Sub 使用1()
Dim myRng As Range
For Each myRng In ActiveSheet.Range("A2:A" & _
ActiveSheet.UsedRange.Rows.Count)
myRng = Application.Replace(myRng, 6, 0, "/")
myRng = Application.Replace(myRng, 4, 0, "/")
Next
End Sub
會轉成 101/7/28 17:30
然後 直接輸入 儲存格格式點選日期中的 2001/03/01 14:30
想轉換成西元 來做日期時間相減 沒想到沒辦法動.... = =
修改後
Sub 使用2()
Dim myRng As Range
r = "101"
f = "2012"
For Each myRng In ActiveSheet.Range("A2:A" & _
ActiveSheet.UsedRange.Rows.Count)
myRng = Application.Replace(myRng, 6, 0, "/")
myRng = Application.Replace(myRng, 4, 0, "/")
myRng = Replace(myRng, r, f, 1, 1)
Next
End Sub
這樣有執行成功 但是小弟想到說 如果資料有參雜100年度的就
沒辦法一次全部轉換
有大大可以跟小弟講說如何更改嗎? 感恩
還有一個問題 小弟在做日期時間相減時
把儲存格格式 轉成 d"天"hh"時"mm"分"
如果一次一兩筆資料相加 是可以顯示的
例如 A1 3天3時33分
A2 2天2時05分
會成為 5天5時38分
但是一堆資料相加 發現值就會是無法顯示
原因為何?
懇請各位大大解惑 感恩....Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.27.219
→ HILLFLY:感謝~~~~解決了大麻煩~ 08/26 01:15
→ HILLFLY:以微薄p幣相贈 吸收中~~~ 08/26 01:16