我想知道是否可以使用VBA来复制单元格的文本而不是单元格的值。
例如,如果单元格A1包含值10000
,但格式为千{•1}},是否可以将单元格B1设置为等于A1中的文本字符串$10.0
?我已经尝试了标准复制/粘贴的每个变体都没有成功。
注意:我希望允许各种自定义格式的灵活性,例如: $,%,千万,百万等。我正在运行Excel 2010.
答案 0 :(得分:1)
这对你有用。
Range("A1").Copy
Range("A2").PasteSpecial xlPasteValuesAndNumberFormats
答案 1 :(得分:1)
可以用公式实现:
="$"&TEXT(A1/1000,"00.0")
然后选择,复制,选择性粘贴,值。
答案 2 :(得分:1)
要仅复制单元格中显示的文本,您根本不会使用Copy
或Paste
或PasteSpecial
方法。
相反,您可以根据另一个单元格的文本分配一个单元格的值:
[A2].Value = "'" & [A1].Text
我添加单引号以强制Excel将值视为字符串,否则可能会误解“常规”格式化单元格中的数字格式。