繁体   English   中英

excel vba 更改日期格式 - 数字

[英]excel vba change format of date - numbers

Excel 自动将以下值更改为数字,我猜是因为他将它们视为日期:

2/2/1 变成 36527 4/2/1 变成 36926

我现在有一个包含不同格式组合的列:

2/1/
3/1/
8/7/
36527
1/0/0
36926

我可以使用哪个 VBA 代码将数字转换回原始格式? 其他值应保持不变。

我知道 cDate 函数,但我想它在这里没有用?

我已经在我的 VBA 代码中使用了这个来粘贴值

ActiveWorkbook.Sheets("Import").Columns("A:AH").NumberFormat = "@"
ActiveWorkbook.Sheets("Import").Range("A1").Select
ActiveSheet.Paste

你不能把它们改回来。 一旦 Excel 转换它们,原始值就消失了。 在输入值之前,您可以在前面加上撇号以将其强制为文本。

ActiveCell.Value = "'" & sMyValue

或者正如@Scott Craner 评论的那样,您可以将单元格格式化为文本

ActiveCell.NumberFormat = "@"
ActiveCell.Value = sMyValue

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM