问题描述
我正在开发一个 VBA 模块。我正在将字典的内容粘贴到工作表中,并且某些值会自动格式化。
我查阅了很多关于如何防止 Excel 自动格式化数据的文章。
在粘贴之前,我尝试通过“格式化单元格”将单元格格式化为常规、文本和(尝试的)自定义格式(例如#“A”)。
此外,我也尝试在粘贴之前通过文本到列格式化单元格。我在这里尝试了 General 和 Text。
最后,我尝试使用 Selection.NumberFormat = "General"
和 Selection.NumberFormat = "Text"
以及 Selection.TextToColumns Destination:=Range("B:B"),DataType:=xlDelimited,_ TextQualifier:=xlDoubleQuote,ConsecutiveDelimiter:=False,Tab:=False,_ Semicolon:=False,Comma:=False,Space:=False,Other:=False,OtherChar _ :="=",FieldInfo:=Array(1,2),TrailingMinusNumbers:=True
我什至尝试在自动格式化后进行查找和替换。例如,在粘贴和自动格式化之后,我会执行“查找和替换”以将“1:00:00 AM”更改为“1 Amps”,然后将“Amps”更改为“A”。这是为了看看我是否可以用我想要的替换选择中的部分字符串。那也没有用。
受影响的值为电流额定值。例如,我正在执行查找和替换以将“1 Amp”更改为“1 A”。
无论我做什么,它都会自动格式化为“1:00:00 AM”这样的时间。
解决方法
只需将单元格的数字格式设置为文本,即可解决您的问题。
在填充单元格之前,您是否尝试将单元格的数字格式设置为文本? vba 将类似于
Range("A1").NumberFormat = "@"