如何将时间转换为字符格式
在excel中,需要将A列的时间如2009-08-06转换为字符串格式,存放在B列,但显示仍然是2009-08-06格式,一个月30天都要转换;如2009-08-06 转换为2009-08-06;2009-08-16转换为2009-08-16; --------------------编程问答-------------------- 用Format函数,比如Dim s1 As String, s2 As String
S1 = "2009.09.08"
s2 = Format(s1, "YYYY-MM-DD") --------------------编程问答-------------------- Format函数. --------------------编程问答--------------------
Private Sub Form_Load()--------------------编程问答-------------------- =TEXT(A1,"yyyy-MM-dd") --------------------编程问答-------------------- 如果你的A列里就只是含"-"或含"/"的日期形式,那么cstr(#……#)就可以了;
Dim d As Date
Dim s As String
d = #8/6/2009#
s = CStr(d)
MsgBox s
End Sub
如果含".",那就用format吧 --------------------编程问答--------------------
楼主的 A 列是日期时间型数据(= Double),什么点杠斜都不包含。不要把内存数据和显示内容混为一谈。
可以把 Excel 用作 Jet Engine 的外部数据库来处理。
假定你已经在 Excel 上建立了连接,且 Excel 表的首行有字段名(datDate, strDate):
Update [Sheet1$] Set strDate = Format(datDate, 'YYYY-MM-DD')
--------------------编程问答-------------------- 各位大侠:
我的文件有60行需要变化,没有表头,时间格式有2009-6-10,有2009-6-6; 即长短字符数不一样;我的程序如下:
For C = 2 To 60
cells(C, 20) = CStr(cells(C, 19))
next
不行,出错:subscrap out of range
更改为:
For C = 2 To 60
cells(C, 20) = format(cells(C, 19))
next
出错:sub or function not defined
如何更正 --------------------编程问答-------------------- Sub test()
Dim c As Integer
Columns(2).NumberFormatLocal = "@"
For c = 2 To 60
Cells(c, 2) = CStr(Format(Cells(c, 1), "yyyy-mm-dd"))
Next
End Sub --------------------编程问答-------------------- Sub test()
Dim c As Integer
Columns(20).NumberFormatLocal = "@"
For c = 2 To 60
Cells(c, 20) = CStr(Format(Cells(c, 19), "yyyy-mm-dd"))
Next
End Sub --------------------编程问答-------------------- Sub okexcel()
Cells(1, "B") = "'" & Cells(1, "A").Text
End Sub
如此简单
加上循环就行了! --------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢各位的回复,问题已经解决;
'A列是你的原日期,B列是转换后的日期,vba程序如下:
Range("B1").Select
ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""yyyy-mm-dd"")"
Selection.AutoFill Destination:=Range("B1:B60"), Type:=xlFillDefault
Range("B1").Select
回复8楼:
你的方法有效,能否解释一下
Columns(20).NumberFormatLocal = "@"
谢谢 --------------------编程问答-------------------- 解决了就结帖吧:)
补充:VB , VBA