如何强制Excel在单元格赋值时将前导单引号视为常规字符?
如何让Excel赋值时将前导单引号视为字符串一部分?
我有个CSV文件,内容如下:
=1+1 --1+1 '=1+1 'hello' world
用Excel打开后,前两行被识别成公式自动计算,后两行的前导单引号被当作前缀字符忽略——单元格看起来显示了前导引号,但实际值里并不包含它。
复制操作能保留状态
用VBA复制单元格时,这个显示状态可以保留:
Range("A3:A4").Copy Destination:=Range("B3:B4")
复制后的单元格和原单元格一致,前导单引号正常显示。
直接赋值会丢失状态
但如果直接将单元格值赋值给自己:
Range("A3:A4").Value = Range("A3:A4").Value
前导单引号会彻底消失,比如A4的内容会从显示'hello' world变成实际值hello' world,开头的引号直接丢失。
现在处理大量类似'Friends' tv-show格式的大数据时遇到了麻烦:把区域值存进数组处理完再放回单元格,没法保证前导单引号不丢失,很容易引发后续错误。
想找个简单方法,强制Excel在赋值时把前导单引号当成字符串的一部分,不需要重新用PowerQuery导入CSV,也不用给所有值手动加'前缀。
使用环境:MS Office 365,Excel 16.0版本
内容的提问来源于stack exchange,提问作者vitalizzare
相关产品推荐
相关产品推荐

