0

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

4

1 回答 1

1

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

ActiveCell.Value = "'" & sMyValue

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

ActiveCell.NumberFormat = "@"
ActiveCell.Value = sMyValue
于 2020-03-18T15:54:49.417 回答