当我使用以下代码创建带有复制工作表的新工作簿时,会发生奇怪的日期更改:
Worksheets("Week Template").Copy
Set Newwb = ActiveWorkbook
NewwbName = ActiveWorkbook.Name
Windows("Mainworkbook.xlsm").Activate
Sheets("Week Template").Select
Range("B3:B13").Select
Application.CutCopyMode = False
Selection.Copy
Workbooks(NewwbName).Worksheets("Week Template").Activate
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Run Code Online (Sandbox Code Playgroud)
例如,如果我复制日期“1/1/2023”,它将更改为“12/31/2018”
但是,当我将单元格格式更改为文本时,数字是相同的“43465”
有谁知道我该如何解决这个问题?
差异是由于您的一本工作簿(日期较晚的工作簿)设置为使用 1904 日期系统。
MAC上一般默认使用1904日期系统,Windows下默认使用1900日期系统。
这可以在文件/Excel选项/高级/计算此工作簿时进行设置:
您可以使用 Workbook.Date1904 属性来确定工作簿设置,并对值进行适当的调整以保持日期相同。
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |