我编写了一个模块,用于读取我从SQL转储中粘贴的数据,并将其转换为SQL的数据插入脚本。它工作得很好,唯一的问题是包含以下项目的单元格:
11-20
而不是将我的值填充为'11 -20',而是将其转换为'20 -Nov'。
我已经调整了我如何将文本从文本读取到值到值2,文本最接近正确(休息做一个数学计算,使我的整体表格更糟糕,即日期)。我也尝试过Range("X:X").clear
和clearformat
这样的事情。这也不行。
如何强制将此单元格的字符串读取为文字CSV内容,并忽略excel正在折腾的公式/计算?
编辑: 感谢BraX的解决方案!
我无法通过从Excel中的一个选项卡复制到下一个选项卡来完成此操作,但我确实通过将操作暂停到一个消息框来提示用户只需导航到SQL并放入数据内容进入夹板。这现在完美无缺!
Cells.Select
Selection.NumberFormat = "@"
MsgBox "Please navigate to SQL and copy your data to be insurted, including headers. When done click OK"
Range("A1").Select
ActiveSheet.Paste
答案 0 :(得分:1)
在将数据添加到工作表之前,请为受影响的列设置NumberFormat
为@
。
示例:
ActiveWorkBook.WorkSheets("Sheet1").Range("A:A").NumberFormat = "@"
这会将值格式化为Text
,并防止在添加数据时将它们解释为Date
。一旦Excel确定它是一个约会,那就太晚了。
答案 1 :(得分:0)
我非常确定所需要的是格式化单元格,右键单击要格式化为纯文本的单元格区域,单击“格式化单元格”,然后在“数字标签”下显示“CATEGORY”格式的类型,例如:“常规,数字,货币等”选择“文本”的位置并单击“确定”,任何文本的评估方式与编写文本的方式相同,即使您编写“11-5-18”它将只是那个,不会被视为日期或任何事情。