首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel:在VBA中使用命名的Range.NumberFormat:"General“和”General“。“标准”

Excel:在VBA中使用命名的Range.NumberFormat:"General“和”General“。“标准”
EN

Stack Overflow用户
提问于 2011-09-02 21:02:07
回答 1查看 8.9K关注 0票数 2

这里有几个关于Range.NumberFormat的问题--希望有人能给出他们能提供的现成答案,因为搜索网络是很困难的,所有的通用术语。

一些背景:我试图消除“随机”错误1004代码:无法设置Range类的NumberFormat属性的是消息。当我试图将绑定晚的对象的.NumberFormat设置为命名格式时,主要使用“通用”或“标准”,就会发生错误。对象,在99%的情况下是Application.Selection。另外,请注意,造成此错误的最常见原因--工作表或工作簿上的保护--不适用于此。

从 2003到2007,微软似乎在VBA中引入了一个bug。如果在“立即”窗口中键入? Selection.NumberFormat并按Enter,则得到"General“。如果我对运行一个断点的宏的某些加载项(不是全部,不是可预测的)做同样的事情,我通常会得到"Standard“。什么是“标准”?那是从哪来的?我想从一个单元格中获取一个数字格式,并将它放到另一个单元格上;在任意时刻,我不能以这种方式应用"Standard“,其结果与General不一样。(在Excel2003中,它从未出现在“立即”窗口中,并且无法系统地应用。)

  1. 即使我将“标准”的所有实例转换为“通用”,有时在MyObject.NumberFormat = "General"上仍然会出现错误。我在几个地方读到,最好是应用命名格式的底层格式,即通用应用于某事物(我认为标准是这样);在Excel?

中有什么语法可以这样做?

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-02 22:12:31

这可能不是一个完整的解决方案,但这是一个开始:

我认为“标准”是在某些语言中使用的,而不是“一般”。您应该将您的结果与.NumberFormatLocal进行比较。

对于解决方案部分,如果您试图将NumberFormat设置为"General“并获得错误,那么只需将NumberForamt设置为空字符串即可。这将自动使NumberFormat通用/标准。

代码语言:javascript
复制
selection.NumberFormat = ""
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7289183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档