2017-08-03 651 views
1

我需要将数字粘贴为文本。这是有问题的,因为前面有很多零(但我需要它们)。第一个片段,不起作用(我在互联网上找到它)。VBA excel粘贴为文本

Worksheets("B").Range("k7:k7").PasteSpecial Format:=”Text”, 
Link:=False, DisplayAsIcon:=False 

其他我记录,但它并不总是工作。

PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, 
SkipBlanks:=False, Transpose:=False 

有人可能会建议我一个更好的解决方案吗?

+0

您是否曾尝试在单元格中添加文本的“infront”?这应该使excel将您的数字视为文本并保持前导零 – Zac

+0

或者您可以尝试按照本文中的几个解决方案进行操作:https://support.office.com/zh-cn/article/Keeping-leading-零和大号 - 1bf7b935-36e1-4985-842f-5dfa51f85fe7?ui = zh-CN&rs = zh-CN&ad = US或者试试这个公式:'''= TEXT(A1,“000-00-0000”) '''这会产生这样的结果:** 012-34-5678 ** –

回答

0

您需要将单元格/列格式化为“文本”格式,然后粘贴数字以保留前导零。如果它仍然不起作用,请尝试先将数字粘贴到记事本中,然后将所有数字复制到记事本中,然后将其粘贴回现在格式为“文本”的单元格/列。 希望它有帮助。

0

如果你试图复制粘贴单个细胞,而不是复制粘贴得到的单元格值追加单引号和值存储在目的地

0

我无法重现您的问题。

我创建了具有以下新的表: Example spreadsheet

下面的代码似乎做你希望的东西:

Sub pasteAsText() 

ActiveSheet.Range("A2").Copy 
ActiveSheet.Range("C2").PasteSpecial 

ActiveSheet.Range("A3").Copy 
ActiveSheet.Range("C3").PasteSpecial 

ActiveSheet.Range("A4").Copy 
ActiveSheet.Range("C4").PasteSpecial 


End Sub 

这是否解决问题了吗?