Vba:如何仅粘贴值而不格式化


您可以在 VBA 中使用以下语法来复制特定范围的单元格并将值仅粘贴到新位置而不进行格式化:

 Sub PasteNoFormatting()

Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

End Sub

这个特定的宏将复制范围A1:D9中的单元格,并将单元格值粘贴到从单元格A12开始的范围中,不带任何格式。

注意Application.CutCopyMode = False行指定在执行宏后应禁用剪切和复制模式。

以下示例展示了如何在实践中使用此语法。

示例:仅粘贴值而不使用 VBA 进行格式化

假设我们在 Excel 中有以下数据集,其中包含有关各种篮球运动员的信息:

假设我们想要将A1:D9范围内的所有值复制并粘贴到新位置而不进行格式化。

我们可以创建以下宏来执行此操作:

 Sub PasteNoFormatting()

Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

End Sub

当我们运行这个宏时,我们会收到以下输出:

VBA 仅粘贴值,无格式

请注意,原始单元格值已粘贴到新位置,没有任何格式设置。

注意:您可以在此处找到 VBA PasteSpecial方法的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何查找最后使用的行
VBA:如何计算范围内的行数
VBA:如何计算使用的列数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注