约翰的设备可以将数字输出为文本。即使工作表中的目标单元格被格式化为带小数点后三位的数字,但在粘贴时该格式将被忽略;数据总是粘贴为文本。然后,John必须突出显示刚刚粘贴的单元格,将其转换为数字,然后格式化为小数点后三位。

这需要很多时间! John想知道如何使用目标格式粘贴数据。

您可以尝试一些方法,从非常简单的方法到更复杂的方法。然而,所有这些都始于确保目标单元格按照您希望的格式进行格式化(看来已经完成了)。

John并没有指出设备是如何输出数字的,只是指出它们是作为文本输出的。它们可能会输出到文本文件,Excel工作表,网页,PDF或程序本身的显示屏上。数字的输出方式与将它们粘贴到Excel的方式很重要,这就是为什么我提到该解决方案可能非常简单或更复杂的原因。

无论数字如何输出,都请选择它们并按Ctrl + C。这会将数字复制到剪贴板,您可以切换到Excel。选择要粘贴信息的单元格,但不要单击Ctrl + V。而是显示功能区的“主页”选项卡。

在左侧,您将看到“粘贴”工具;您要单击此工具右侧的向下箭头。在生成的选项面板或生成的上下文菜单上,您想要选择粘贴值,仅保留文本或匹配目标格式。 (请参见图1。)

image

图1.粘贴工具的上下文菜单。

这三个选项中的任何一个都设计成可以做基本相同的事情-简单地粘贴值,而无需从源进行任何格式化。 (哪个选项是可见的,在很大程度上取决于源数据的特性。)如果您没有看到这三个选项中的任何一个,请选择“选择性粘贴”,并且在出现的对话框中至少应有一个选项可用。框。

如果您的数据现在已使用所需的目标格式设置在工作表中,则可以使用。但是,这种简单方法可能无法按预期工作。 (同样,这取决于您要粘贴的信息的来源。)如果是这种情况,请尝试显示前面所述的“选择性粘贴”对话框。 (请参见图2。)

image

图2.“选择性粘贴”对话框。

但是,在这种情况下,您不仅要选择“值”单选按钮,还要选择“添加”单选按钮。这将导致Excel将剪贴板中的任何内容添加到目标单元格,从而可以(带有一些源数据)提供所需的转换,以转换为保留目标格式所必需的数值。

甚至这种方法也不适用于我的某些粘贴操作。例如,我可能最终从源程序复制应该在Excel工作表的多个单元格中结束的多个值。但是,这些值不是由制表符(这将告诉Excel值应该进入多个单元格)之间是分隔的,而是由多个空格分隔。

这将导致Excel将多个值放置到单个单元格中,并且没有多少吵杂声会使Excel将其视为数字值。

在这种情况下,唯一可以做的就是将它们粘贴到Excel中,然后使用“文本转换为列”工具(在功能区的“数据”选项卡上)将值分成多个单元格,此时可能需要进行其他单元格格式化对我而言。

如果发现自己需要先在Excel中处理数据,然后再将其放入工作表中,则可能需要做一件事-在与最终目的地不同的工作表上进行初始粘贴和按摩。这样,您就不会弄乱最终的目标工作表。您也可以使用已描述的技术,使用“选择性粘贴”对话框复制经过按摩的数据并将其粘贴到该目标位置。

我应该提到另一种可以粘贴在单个单元格中出现的值的方法。选择目标单元格后,应粘贴到“公式”栏中,而不是粘贴到单元格本身中。

换句话说,选择单元格,然后在公式栏中单击一次。

您可以在其中按Ctrl + V粘贴值,然后按Enter。

单元格的格式至少不应受到干扰。

如果您所做的一切最终仍将文本粘贴到单元格中,则可以考虑使用宏将单元格转换回所需的数字格式。您可以使用以下快速方法:

Sub DoConvert()

Dim c As Range

For Each c In Selection         If IsNumeric(c) And Not IsEmpty(c) Then             c.Value = CSng(c.Value)

c.NumberFormat = "0.000"

End If     Next c End Sub

只需选择要影响的单元格(粘贴后错误地格式化为文本的单元格),然后运行宏。将单元格中的值转换为实际数值后,它将所需的格式应用于单元格。您应该注意,它不会进行任何多单元格拆分,这是我先前描述的类型,其中从源复制的值包括值之间的空格,而不是制表符。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(5970)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。