Excel 2007和Excel 2010或更高版本之间的VBA是否存在兼容性问题?

我不是一个VBA专家,刚刚开始做一些VBA工作的新工作。 某些用户在Windows XP计算机上安装了Office 2007,而其他用户在Windows 7计算机上安装了Office 2010或2013。 工作簿一直很好,直到3月底,2007年的版本开始在一些单元格上进行不同的舍入,如果他们甚至显示数字,因为有时他们只显示英镑符号。 如果用户在Excel 2010或Excel 2013中打开相同的工作簿,则可以。 这是一个可以解决的问题,还是只是不兼容?

一般来说,任何工作簿在2007年到最新版本之间都是完全兼容的。

我们确实遇到了某些工作簿的问题。 这些是在Win XP上用Excel 2007创build的。 我们现在有Win7和Excel 2010和Excel 2013; 我们还有Excel 2007的Win XP。它不是一个共享的工作簿,但我们来回传递它来进行更改。

偶尔我们遇到格式为“常规”的单元格问题。 它们会自动更改为date格式(它们会显示为英镑符号######,因为单元格太窄)。 我完全不了解原因,但是当它发生的时候会影响到“一般格式”的单元格。 只要将date格式更改为数字格式,问题就解决了。 这是一个巨大的工作手册,是一个巨大的问题。

我注意到,只要有东西被复制到工作簿中,就会创build新的单元格样式。 工作簿中有数百种单元格样式。 所有的问题都是新的单元格样式之一。 当我将单元格样式中的单元格格式更改为数字格式时,它将保持原样。

问题单元格格式通常是date格式。 当我看date格式时,通常是一个区域依赖的date格式。 格式化单元格时,请select“date”类别,然后select一种格式types,并使用与区域相关的星号。 所以我把date格式改成了一个不是区域依赖的格式,这似乎有帮助。 在这里输入图像说明

所以回顾一下:

  • 我删除了所有单元格样式,但几个
  • 所有剩余的单元格样式不指定数字格式
  • 我把所有单元格都改成了一般格式以外的格式
  • 我避免了区域依赖的date格式

我的理论是,单元格样式以某种方式被损坏为date格式。 所以现在我避免了单元格样式的数字格式。 可能有其他的方式来处理这个,但是这对我来说很有效。

听起来很疯狂,但是是真的。 我们现在有一个稳定的工作簿,但是解决所有这些问题是一项巨大的投资。

一些相关的页面

Excel 2007以date格式自动格式化整个工作簿

类似的问题

类似的问题

停止自动更改数字date