如何解决读/写时记帐单元格类型更改-Excel VBA
我正在将一些记帐类型的单元格读入Variant变量,然后将该变量写入新的工作簿中。当我这样做时,数字格式会混合在一起。
我首先从第一本工作簿中读取了单元格,其值为 69,77€,其单元格格式为 Accounting :
Dim tiendas As Variant
x=.Cells(1,1)
然后,我创建一个新的工作簿并将变量的内容写入单元格:
wb.Worksheets(1).Cells(1,1) = x
如果我什么都不做,则复制的值看起来像这样 697.715 ,其单元格格式为 Number 。
然后我尝试在写入值之前更改单元格格式,即:
wb.Worksheets(1).Range("A1:A1").Style = "Currency"
wb.Worksheets(1).Cells(1,1) = x
结果我得到 697.715,00欧元,单元格类型为 Custom 。
我尝试过反转顺序,即先写入值,然后将样式更改为“货币”。结果完全一样。
我还尝试过以其他方式更改格式,特别是使用Excel中自定义格式中显示的内容(并将字符串中的引号加倍):
wb.Worksheets(1).Range("A1:A1").NumberForma="_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* "" - ""?? €_-;_-@_-"
wb.Worksheets(1).Cells(1,1) = x
在这种情况下,结果为 697715,000€,单元格格式为 Custom 。
似乎原始数字格式无法正确读取,但我不知道如何解决。
非常欢迎任何想法。
谢谢!
注意:在Windows中,我的数字设置是“,”(十进制符号)和“。”。作为千位分隔符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。