【发布时间】:2020-05-19 16:48:12
【问题描述】:
连接是Oracle DB中的一个表,一些数字列中有字符串。因此,Excel 将数字加载为“存储为文本的数字”。
最直接的方法是选择有错误的区域,然后格式化单元格。但是,如果我们格式化整个列,错误仍然存在。有没有办法解决这个问题?也许甚至没有VBA?
【问题讨论】:
连接是Oracle DB中的一个表,一些数字列中有字符串。因此,Excel 将数字加载为“存储为文本的数字”。
最直接的方法是选择有错误的区域,然后格式化单元格。但是,如果我们格式化整个列,错误仍然存在。有没有办法解决这个问题?也许甚至没有VBA?
【问题讨论】:
我发现的一种解决方法是使用“文本到列”。使用“将文本转换为列向导”的默认设置,您会发现列“已清理”。这是为什么?
根据documentation,range.TextToColumns的返回值为Variant。松散翻译,范围内的每个单元格都是动态类型的。
range("A:A").TextToColumns ' text to columns: col A
range("A:A").NumberFormat = "General" ' formatting
【讨论】: