excel - VBA 不会改变所有单元格的格式

标签 excel vba formatting

我有一个列(col. I),其中包含不同格式的日期:

16. Jul 98 // 22-MAR-2016 // 04-MAY-2015 //
17. Jul 10 // 13-DEC-2011 // 25. Aug 98  // 12. Sep 11

我使用以下代码更改格式:
Sub numberformats()
    Range("I:I").NumberFormat = "dd. mmm yyyy"
End Sub

然而,虽然这在格式为 dd 的单元格上运行良好。 mmm yy,它不适用于 dd-mmm-yyy 格式的单元格。只需右键单击即可更改格式 - 格式单元格也无济于事(这是我的第一步,在转到 VBA 之前)。

我进行了互联网搜索,但我在类似问题上找到的所有答案都太复杂了,我无法根据我的问题进行调整。我很高兴得到一些建议(我是这个的绝对初学者......)。

最佳答案

当您使用非英语版本的 Excel 时,会发生这种情况。

例如,在德语版本中,22.03.2016 显示为 22.Mrz 16 .因此,在您的情况下,当您给出 22-MAR-2016 时,Excel 不理解您正在给出日期。 . UPPERCASE有点问题。

将其更改为 22-Mar-2016 可能是个好主意再试一次,在我的 Excel 中,一切正常。

要查看您的 Excel 理解的内容,请转到"file">“选项”>“高级”>“用户定义的列表”。在那里您将看到以下内容:
enter image description here

关于excel - VBA 不会改变所有单元格的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42953291/

相关文章:

excel - 查找范围内的列号?

excel - 使用 MSXML2.XMLHTTP 登录网站

c - 使用pango格式化gtk标签文本

javascript - 使用 JavaScript 巧妙地设置时间格式

.net - 如何加速 .NET DataGrid 到 Excel 的导出?

excel - Excel 中具有可变单元格的计算

c# - 当行数 == 1 时,ListObject.Resize() 使 DataBodyRange 为空

excel - VBA使用公式将行插入到特定表格的底部

excel - Visual Basic 不匹配

php - 如何将 PT 格式的持续时间转换为 php 中的常规字符串