- 帖子
- 129
- 主題
- 25
- 精華
- 0
- 積分
- 159
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-12-24
- 最後登錄
- 2022-12-12
|
回復 12# iceandy6150
我自己找到解決方法了,真開心
如果給的資料,是有年有月,比如 1年5月這樣,就用一個做法
如果給的資料,只有月沒有年,比如9月、12月,就用另一辦法
這樣就能改成我自己要的 00年00月 的格式了- c = .Range("D" & i).Value
-
- If c Like "*年*" Then '有年有月就用這個方式改格式
- c = Application.Text(Replace(Replace(c, "月", ":"), "年", ":"), "[hh]年mm月")
- Else
-
- f = Split(c, "月") '如果只有月 判斷是一位數(1~9月)還是兩位數(10~12月)
-
- If Len(f(0)) = 1 Then
- c = "00年0" & f(0) & "月"
- Else
- c = "00年" & f(0) & "月"
- End If
- End If
複製代碼 為什麼要做這個功能呢
是因為來源資料很不一定
有時候是3月 有時候11月 有時候 1年5月、10年11月等等
位數變來變去
用MID很難抽取
然後又要套上規則
如果滿半年就怎樣怎樣---> 先算出年資換算成月是幾月 滿半年就是年資>=6
如果滿一年 --> 年資>=12
用這些條件再來區分各級距的人該下什麼指令
以上小小發現,自問自答 |
|