从Excel到Access:格式化为破折号的零导致导入错误

我想从Excel 2010(.xlsx)导入一些表到Access 2010.我注意到,如果一列有格式化为破折号(Excel的“会计”格式,也可以获得按工具栏上的逗号button)的零,和我导入列作为双​​,然后访问会产生一个导入错误。 相反,如果我在Excel中将列的格式设置为“数字”,以便零显示为零,则Access将无误地导入数据。 这是谁? 有没有办法解决这个问题,而不是手动重新格式化Excel中的每一列? 谢谢!

我不确定究竟是什么原因引起的问题,但是这个excelmacros将贯穿每个工作表从第一列到最后一个使用的列,并将任何“会计”列的格式更改为“数字”列。 我希望它有帮助。

Sub AccountingReformat() Dim ws As Worksheet Dim rng As Range Dim lastCell As Range For Each ws In ThisWorkbook.Worksheets ws.Activate Set lastCell = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) For Each rng In Range("A1:" & lastCell.Address).Columns If (rng.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)") Then rng.NumberFormat = "0.00" End If Next rng Next ws End Sub