导出到Excel时如何避免“存储为文本的数字”

时间:2013-05-30 18:54:25

标签: excel ms-access access-vba

当我将表从Access导出到Excel时,所有数字都显示为文本,并在单元格上显示绿色箭头。有没有办法自动修复此错误,或其他导出错误的方法?

供参考,这是我出口的方式:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, pages(i), outputFileName, True

3 个答案:

答案 0 :(得分:5)

检查您的表格定义。在将Access 导出到Excel时,我唯一一次获得“以数据形式存储为文本”标志的情况是表的列被定义为Text并且它包含(Excel确定的内容是)一个数字,在这种情况下Excel是正确的:格式为文本的“数字”,因为它文本(表定义是这样说的)。

如果列确实应是Access表中的Number列,则更改它。或者,您可以在Excel中进入File > Options > Formulas并在“错误检查规则”下禁用“格式化为文本或以撇号开头的数字”。

答案 1 :(得分:3)

在Excel中,您可以使用功能区的“文本到列”功能来执行此操作。

突出显示您想要成为数字的整个文本块 Alt + A ,然后 E ,然后 Alt + F ,你是完成。

我不确定您是希望采用还是方式执行此操作,还是希望在进入Excel之前执行此类操作?

答案 2 :(得分:1)

使用VBA,将单元格范围格式化为“常规”...

范围(“XYZ”)。NumberFormat =“常规”