【问题标题】:How to keep ms excel from expanding country codes?如何防止 ms excel 扩展国家代码?
【发布时间】:2011-08-11 12:14:43
【问题描述】:

我有一个包含国家代码的 Excel,例如“AD”。当我尝试在 VBA 中访问此单元格时,其值、文本或公式将返回 Andorra。为什么excel会这样做?我怎样才能得到国家代码?这让我发疯了...... :-)

编辑 1:

For r = 1 To 32000
    If ws.Cells(r, 1) = "" Then Exit For

    Debug.Print ws.Cells(r, 1)
    Debug.Print ws.Cells(r, 1).Formula
    Debug.Print ws.Cells(r, 1).Text
    Debug.Print ws.Cells(r, 1).Value
    Debug.Print ws.Cells(r, 1).Value2

    'Write #i, ws.Cells(r, 1), ws.Cells(r, 2), ws.Cells(r, 3)
Next r

回到同一个“安道尔”

编辑 2:

你不会相信发生了什么。有人隐藏了一个列 - 我看不到,但 vba 可以看到... 耻辱 但我发誓,我没有看到这个该死的隐藏列...对不起。有时它更多的是用户错误而不是 ms 错误:-) 抱歉!

【问题讨论】:

  • Excel 如何知道它是国家代码?它是您拥有的附加组件吗?
  • 我不知道。不,这是一个普通的 excel 2003 ......我已将单元格明确格式化为文本 - 没有成功......
  • 您尝试访问单元格的 VBA 代码是什么样的? (只是一个sn-p)
  • 我已经将 AD 写入了一个单元格,甚至将它放在一个名为“国家代码”的列中,以防 Excel 进行类似的奇怪飞跃,而我无法重现这。这一定是某个地方的一些小设置,哈哈。
  • @christian,查看您已激活的当前插件列表。我只能想到两种可能性:1)您指向错误的工作表或 2)外部 Excel 插件正在这样做。

标签: excel vba


【解决方案1】:

确保将单元格格式设置为“文本”。如果这不起作用,则说明发生了一些不正常的事情,我们需要更多信息。

如果这不起作用,请尝试将单元格读入 VBA 并查看本地窗口以查看属性。此外,您可能希望他们在调试中观察一个单元格并输入一个值并查看它发生了什么以跟踪更改的来源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    相关资源
    最近更新 更多