【问题标题】:How to keep leading zeroes when pasting into excel file?粘贴到excel文件时如何保持前导零?
【发布时间】:2017-05-17 13:41:52
【问题描述】:

在将值粘贴到列中时,有什么方法可以不更改列的格式?


我发现了大量“事后”修复的变通方法。将其粘贴到其中,将列格式化为文本,然后添加前导零等。这不是我想要的。

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

我想粘贴的数字是 02327718200002,但每次我这样做时,它看起来像这样:

发生的情况是,在粘贴之前格式化为文本的列变成了“通用”格式的列,并被读取为数字。这会导致完全删除前导 0。因此,即使我右键单击列并将其格式化为文本...前导 0 也消失了。

【问题讨论】:

  • 你是从一个单元格粘贴到一个单元格还是从外部源粘贴到一个单元格??
  • @Gary'sStudent 在这种特殊情况下,它将来自外部来源(网站)。但我想找到某种解决方案,如果可能的话,从哪里都可以。
  • @PankajJaju 我特别说过这不是我想要的。你读过帖子吗?
  • 我读到了这篇文章,并指出了该线程,其中详细讨论了 Excel 中可用的选项。也许您也应该阅读该主题。

标签: excel excel-formula


【解决方案1】:

不要使用经典的粘贴方式,如 CTRL + V,请先确保您的列格式化为文本,然后右键单击并选择“选择性粘贴”。这将允许您粘贴为文本。

【讨论】:

  • 这不起作用。我测试过 - 复制问题中的数字并粘贴特殊 > 文本,您会发现零已被删除
  • 这不适用于任何给定的替代方案(HTML、Unicode 文本或文本)。编辑:改变了我的想法,如果当我粘贴为特殊格式时它被格式化为文本 - 它确实有效。
  • 在粘贴之前确保您的整个列都格式化为文本。
  • 正是 OP 不想做的事情
  • @Danieboy Definelty 有效,您只需要先格式化 col
【解决方案2】:

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

Sub PasteSpecial()

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

按 Alt+F11 打开 VBA 编辑器,然后将其粘贴到里面。返回 excel 中的开发人员选项卡,单击宏,然后突出显示宏(PasteSpecial)。单击选项,然后您可以选择添加快捷方式。当您点击您选择的快捷方式组合时,代码将粘贴到可见工作表上的活动单元格中

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

注意。如果您想创建自定义快捷方式或还想进行其他操作,请使用此选项。还有一个快捷方式构建它 CTRL + ALT + V 也将粘贴特殊。我个人觉得内置的快捷方式使用起来很笨拙

【讨论】:

  • 对不起,如果我现在听起来像个初学者,但是......我到底应该把这段代码放在哪里?我假设它在某处的 Alt+F11 菜单中。
  • 我花了一段时间才在瑞典语版本中找到开发人员选项卡...但解决方案有效!
  • 似乎有时出于某种原因它确实粘贴在“下一个”(右侧)列中。有什么想法吗?
  • @Danieboy 无法解释。可能与您选择的键绑定有关,因为代码根本不应该这样做。
猜你喜欢
  • 2022-07-15
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 2018-02-16
  • 2017-05-08
  • 2014-08-27
相关资源
最近更新 更多