標題:liveabc互動美語網際學院
VBA 分割日期時間
發問:
A B C D E F 22182 22182 22182 22182 24 2013/03/21/09:14:0022182 22200 22182 22200 181 ... 顯示更多 A B C D E F 22182 22182 22182 22182 24 2013/03/21/09:14:00 22182 22200 22182 22200 181 2013/03/21/09:15:00 ........................................................................................................................... 22470 22473 22464 22468 301 2013/03/27/16:13:00 22469 22472 22460 22461 372 2013/03/27/16:14:00 在A欄插入三欄,F欄剪貼到A欄,A欄日期 時間分割到B欄和B欄 完成結果 A B C D E F G 2013/03/21 09:14:00 22182 22182 22182 22182 24 2013/03/21 09:15:00 22182 22200 22182 22200 181 ........................................................................................................................... 2013/03/27 16:13:00 22470 22473 22464 22468 301 2013/03/27 16:14:00 22469 22472 22460 22461 372 上傳檔案 http://www.FunP.Net/454285 請幚忙 更新: 謝謝意見,這個工作頁的數據是複製來的,所以要VBA來編寫 更新 2: 請問 F欄日期時間用VBA分割可以嗎?或是用字串分割嗎? 更新 3: 程式測試OK,請大大幚忙 數據有時差關係,在儲存格J1輸入分鐘數值,例如480代表480分鐘,這個數值加入A欄和B欄 A| B 日期 時間 21/03/阿兜阿不教美語2013 09:14:00 ................................ 21/03/2013 09:22:00 更新 4: 完成結果 A | B 日期 | 時間 21/03/2013 17:14:00 ................................................... 21/03/2013 17:22:00 更新 5: 在儲存格J1輸入分鐘數值,輸入正數值是加,輸入負數值是減 更新 6: 在儲存格J1輸入分鐘數值,這個功能沒有執行 可以獨立分開兩個動作嗎?輸入分鐘數值做個獨立功能 因為在這個頁面數據,需要輸入不同多次分鐘數值 謝謝大大 更新 7: 上傳文件 http://www.funp.net/181214 謝謝大大 更新 8: 日期時間,儲存格格式沒有執行 更新 9: 測試OK 謝謝大大
最佳解答:
Sub T20130329_1() Dim y% y = [F65536].End(xlUp).Row [A:B].Insert With Range("A2:B" & y) .Formula = "=TEXT(REPLACE($H2,11,1,"" "")+$J2/1440,IF(COLUMN()=1,""yyyy/mm/dd"",""hh:mm:ss""))" .Value = .Value End With End Sub 2013-03-29 14:11:46 補充: 原表自行插入AB欄, A2公式:右拉.再下刷 =--TEXT(REPLACE($H2,11,1," ")+$J2/1440,IF(COLUMN()=1,"yyyy/mm/dd","hh:mm:ss")) 儲存格格式:A欄"yyyy/mm/dd",B欄"hh:mm:ss" J欄輸入〔時差〕公式自動計算! 2013-03-29 14:20:02 補充: Sub T20130329_11() Dim y% y = [F65536].End(xlUp).Row [A:B].Insert Range("A2:B" & y).Formula = "=--TEXT(REPLACE($H2,11,1,"" "")+$J2/1440,IF(COLUMN()=1,""yyyy/mm/dd"",""hh:mm:ss""))" End Sub 原表處理後保留公式,再去輸入J欄! 2013-03-29 16:28:19 補充: <參考檔>: http://www.funp.net/598572 2013-03-29 22:20:32 補充: EXCEL VBA.將文字格式〔日期.時間〕分割成兩欄,及計算時間差 <.准提部林.> --------------------------------- ■程式碼1: Sub 分割日期時間() Dim y% If [A1] "開盤" Then MsgBox "非原始資料或已完成分割!": Exit Sub y = [F65536].End(xlUp).Row: If y = 1 Then Exit Sub [A:B].Insert: [A1:B1] = Array("日期", "時間") With Range("A2:B" & y) .Formula = "=TEXT(--REPLACE($H2,11,1,"" "")," & _ "IF(COLUMN()=1,""yyyy/mm/dd"",""hh:mm:ss""))" .Value = .Value .Replace "#VALUE!", "", Lookat:=xlWhole .Columns.AutoFit End With [H:H].Delete End Sub ■程式碼2: Sub 調整時差() Dim y%, xR As Range, TM If [A1] "日期" Then MsgBox "資料不正確或未完成分割!": Exit Sub If Val([J1]) = 0 Then MsgBox "時間差未輸入或錯誤!": [J1].Select: Exit Sub y = [A65536].End(xlUp).Row: If y = 1 Then Exit Sub For Each xR In Range("A2:A" & y) If IsDate(xR.Text) And IsDate(xR(1, 2).Text) Then TM = xR + xR(1, 2) + [J1] / 1440 xR = Format(TM, "yyyy/m/d") xR(1, 2) = Format(TM, "hh:mm:ss") End If Next End Sub --------------------------------- <範例檔>下載: 檔案名稱:20130329a02(分割日期時間).rar 下載連結:http://www.funp.net/598572 ---------------------------------
其他解答:
●九州 娛樂 網站 http://ts777.cc ●●●運彩遊戲、真人遊戲、電子遊戲、對戰遊戲、對戰遊戲●●● ●新舊會員儲值就送500點 ● 真人百家樂彩金等你拿 ●線上影片直播、正妹圖、討論區免費註冊 歡迎免費體驗交流試玩! ●九州 娛樂 網站 http://ts777.cc|||||Sub test() Dim xR As Range Columns("A:B").Insert [B1] = [H1] For Each xR In Range("H2", [H65536].End(xlUp)) xR(1, -6) = Left(xR, 10): xR(1, -5) = Right(xR, 8) Next Columns("H").Delete End Sub ~ 參考 2013-03-29 00:11:36 補充: 覆 lmf 大大 巨集不含資料剖析 請於巨集中,以F8逐行執行,便可知其執行過程 ~ 覆 版主 J1輸入分鐘數值,如此科見美語補習班 1.A,B欄結果會變成公式運算? 2.是否有可能進一日或退一日?|||||A欄插入2欄 A1公式 =MID(H1,1,10) A2公式 =MID(H1,12,20) 選A1A2下拉複製即可得索需 2013-03-28 13:15:27 補充: 用錄製巨集我試過可行 但copy上傳均失敗 錄製巨集: 先資料剖析(依空格) *因空格不隊齊無法用固定寬 AB欄插入2欄 A1 key in公式 =MID(H1,1,10) A2公式 =MID(H1,12,20) 選A1A2下拉複製即可得所需 2013-03-28 13:25:17 補充: 如試不行給MAIL 可寄給你 2013-03-28 17:39:52 補充: 我的部分錄製巨集是到下拉複製 故日期時間也是含在錄製巨集內 請問冰大巨集是否含資料剖析?謝了!
3A8EEB5CD5F28899