Board logo

標題: 請教 VBA 如何日期+時間轉化為文字 [打印本頁]

作者: Andy2483    時間: 2020-8-6 15:19     標題: 請教 VBA 如何日期+時間轉化為文字

Format()可以處裡時間?
1.這是想要的結果>>  2020_7_16_PM_02_29_25
2.都用這土方法解決自動另存備份檔,加在檔名中,因為檔名不會重複
ActiveWorkbook.SaveAs Filename:=  ~~  & _
Replace(Date, "/", "_") & Replace(Replace(Replace(Time, ":", "_"), "上午 ", "_AM_"), "下午 ", "_PM_")
3.有其他方法?
作者: 准提部林    時間: 2020-8-6 16:40

MsgBox Application.Text(Now(), "yyyy\_m\_d\_上午/下午\_hh\_mm\_ss")
作者: Andy2483    時間: 2020-8-6 18:56

回復 2# 准提部林
收到 謝謝准大
現在沒有電腦可試
是用這種方式在VBA裡 都可以執行公式得到值的意思嗎?沒用過! 明天測試後再請教
這幾年都沒什麼進步
一招半式寫了一堆堪用的程式,工作問題是解決了
但是效能是一大問題,有些每天要執行的程式一按下去就得跑2個多小時
再多的理由 都是荒廢學習的藉口
請多指教
作者: Andy2483    時間: 2020-8-7 14:33

回復 3# Andy2483

理解一點點!
1.每種函數在儲存格和VBA裡的陳述方式有差異
2.VBA要在儲存格裡陳述公式方式也不同,各有規則
謝謝

Sub test_20200807_7()
MsgBox Application.ExecuteExcel4Macro("numberstring(123456789,2)")
[A1] = "=numberstring(123456789,2)"
MsgBox [A1].Value

MsgBox Application.Text(Now(), "yyyy\_m\_d\_AM/PM\_hh\_mm\_ss")
[A1] = "=TEXT(NOW(), ""yyyy" & "\" & "_m" & "\" & "_d" & "\" & "_AM/PM" & "\" & "_hh" & "\" & "_mm" & "\" & "_ss"")"
MsgBox [A1]

MsgBox Application.Sum([A2:A10])
[A1] = "=Sum(A2:A10)"
MsgBox [A1]
End Sub
作者: 准提部林    時間: 2020-8-7 15:12

回復 4# Andy2483


[A1] = "=Text(Now(), ""yyyy\_m\_d\_上午/下午\_hh\_mm\_ss"")"
作者: Andy2483    時間: 2020-8-7 16:11

回復 5# 准提部林

忘了錄製巨集就可以反推得到程式碼, 哈 :L  但是要先會寫公式!
謝謝
Sub test_20200807_9()
[A1] = "=TEXT(NOW(), ""今天是aaaa_yyyy\_mm\_dddd\_上午/下午\_hh\_mm\_ss"")"
MsgBox [A1]

[B2] = "今天是"
[A1] = "=TEXT(NOW(), R[1]C[1]&""aaaa_yyyy\_mm\_dddd\_上午/下午\_hh\_mm\_ss"")"
MsgBox [A1]
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)