我有一些代码可以打开我的模板和数据集,然后将数据集复制到模板工作簿中。简单的。好吧,显然不是。
在我的代码复制完该数据集之后,我注意到我所有的日期都将转换为美国格式。有问题的数据集将另存为CSV,因为这是如何在数据库中进行计划的。
我的计划是将数据更改为XLSX格式,因为这似乎可以解决问题。但这并不能解释为什么它会首先出现,有什么想法吗?
Dim TemplateWB As Workbook
Dim DataWB As Workbook
'Set Dim and Open files
Set TemplateWB = Workbooks.Open(TemplateFull) 'TemplateFull links to my template file
Set DataWB = Workbooks.Open(DataFull) 'DataFull links to my dataset
'Make sure sheet is visible within template
TemplateWB.Sheets("Data_1").Visible = xlSheetVisible
TemplateWB.Sheets("Data_1").Activate
'Remove any data contained within template
InitialLastRow = Cells(Rows.Count, 1).End(xlUp).Row
InitialLastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(2, 1).Resize(InitialLastRow, InitialLastColumn).ClearContents
'Select new dataset
DataWB.Sheets("Data_1").Activate
NewLastRow = Cells(Rows.Count, 1).End(xlUp).Row
NewLastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, 1).Resize(NewLastRow, NewLastColumn).Copy Destination:=TemplateWB.Sheets("Data_1").Range("A1")
'Save template and close
Workbooks(DataFileName).SaveAs (ArchiveFull & Year(Now()) & "_" & Month(Now()) & "_" & Day(Now()) & ".csv")
Workbooks(ArchiveFileName & Year(Now()) & "_" & Month(Now()) & "_" & Day(Now()) & ".csv").Close
如果您在代码中打开CSV,则Excel会尝试使用美国设置来确定每一列中的数据类型。您应该能够通过指定方法的Local:=True
参数来修复它Workbooks.Open
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句