粘贴到excel文件时如何保持前导零?

将值粘贴到列中时,有没有办法改变列的格式?


我发现了很多“事后”修补程序的解决方法。 你粘贴的地方,将文本格式设置为文本,然后添加前导零等。 这不是我想要的。

对于上下文,我希望能够将GTIN号码发布到Excel文档中,然后在网站上导入。 GTIN可以是8,12,13或14个数字(无法确定它是哪一个)。

一个我想要粘贴的数字是02327718200002 ,但是每次我这样做的时候都是这样的:

当我将02327718200002发布到文本格式的列中时会发生什么?

会发生什么情况是,在粘贴之前格式化为文本的列变成了“常规”格式的列,并被读作数字。 这导致完全清除前导0.所以,即使我右键单击我的列,并将其格式化为文本…领先的0消失了。

根据您发布的评论,并假设您已经将列格式化为文本,您可以使用类似…

Sub PasteSpecial() ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _ False End Sub 

点击Alt + F11打开VBA编辑器,然后粘贴到里面。 回到excel中的开发者标签,点击macros,然后突出显示macros(PasteSpecial)。 点击选项,然后你可以select添加一个快捷方式。 当您点击您select的快捷方式组合时,代码将粘贴到可见表单上的活动单元格中

当粘贴到格式为非文本格式的列中的单元格时,它将采用默认的“常规”types。

NB。 如果要制作自定义快捷方式,或者如果您还想执行其他操作,请使用此选项。 还有一个快捷键build立它CTRL + ALT + V也将粘贴特殊。 我个人觉得内置的快捷笨拙使用

不要使用经典的粘贴方法,比如CTRL + V,确保你的列首先被格式化为文本,然后右键单击并select“粘贴特殊”。 这将允许您粘贴为文本。