Table of contents
然而,在有些情况下,我们想复制的不仅仅是简单的文本。 我们可以复制其中所有的功能,如条件格式化、数据的验证、数据类型格式化,以及边框和单元格颜色等美学特征。 也许你很欣赏你同事的配色方案,但需要静态数据,或者公式非常棒,但你不喜欢这种配色。在本教程中,我们将展示 VBA PasteSpecial并保持Excel中的源格式。
下载实践工作手册
下载这本练习手册,在阅读本文时进行练习。
VBA PasteSpecial.xlsm在Excel中应用VBA PasteSpecial和保留源格式的4个简单例子
我们将演示四个例子,说明如何在下列程序中使用粘贴特技 VBA 下面是一个我们将用来复制和粘贴的样本数据集。
1.通过使用VBA PasteSpecial和保持Excel中的源格式化来添加输入框
首先,我们将使用方框选择一个范围,然后将其粘贴到另一个单元格中。 要做到这一点,请遵循以下步骤。
步骤1。
- 首先,按 符号 + F11 来启动一个 宏观 .
- 然后,点击 插入。 选择 模块 选择。
第2步。
- 粘贴以下VBA代码。
Sub PasteSpecialKeepFormat() '声明CopyCell和PasteCell为范围变量 Dim CopyCell As Range, PasteCell As Range '给输入框起个名字 xTitleId = "ExcelWIKI" '设置复制范围将从工作表中选择 Set CopyCell = Application.Selection '设置一个输入框,取一个范围来复制 Set CopyCell = Application.InputBox("选择范围来复制:", xTitleId, CopyCell.Address。Type:=8) '设置一个输入框,取一个要粘贴的单元格 Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) '命令复制选定的单元格 CopyCell.Copy '命令粘贴单元格 PasteCell.Parent.Activate '命令对粘贴的单元格保持源格式 PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub
第3步。
- 拯救 节目,并按 F5 来运行它。
- 在出现了 'ExcelWIKI' 框,选择范围 $B$4:$C$11 .
- 点击 认可 .
第4步。
- 选择任何空白单元格进行粘贴。
- 然后,点击 好的。
- 因此,你将通过保持格式不变来获得粘贴值。
阅读更多。 Excel中粘贴和特殊粘贴的区别
2.应用VBA的PasteSpecial来选择范围并保持Excel中的源格式化
在 VBA 你也可以指定范围,并在保持源格式的情况下复制和粘贴它们。 按照下面概述的步骤来做。
步骤1。
- 新闻 符号 + F11 打开 宏观 .
- 创建一个新的模块,从 插入
- 简单地说,粘贴以下内容 VBA 范围的代码 B4:C11 .
Sub pasteSpecial_KeepFormat() '选择要复制的单元格 Range("B4:C11").Copy '选择要粘贴的单元格 '命令粘贴Special保持格式 Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
第2步。
- 最后,保存程序并按 F5 因此,你将看到如下图所示的变化。
阅读更多:VBA粘贴特技在Excel中复制数值和格式(9例)。
类似读物
- 比较两个Excel表并复制差异的VBA代码
- Excel VBA:复制单元格值并粘贴到另一个单元格
- 如何在Excel中复制多个单元格到另一个工作表(9种方法)
- Excel VBA:复制范围到另一个工作簿
- [固定]:Excel中右键复制和粘贴不起作用(11种解决方案)
3.通过应用VBA的PasteSpecial和保持Excel中的源格式化来声明变量
通过声明变量和设置变量到不同的范围,按照下面的步骤,将Special粘贴在 VBA .
步骤1。
- 首先,按 符号 + F11 打开 VBA宏程序 .
- 选择一个新的 模块 .
- 然后,粘贴以下内容 VBA代码 .
Sub Copy_Paste_Special() '声明变量 Dim copy_Rng As Range, Paste_Range As Range '命令复制范围 Set copy_Rng = Range("B4:C11") '命令粘贴范围 Set Paste_Range = Range("E4") copy_Rng.Copy '粘贴命令到 pasteSpecial 与保持格式 Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
第2步。
- 保存程序后,按 F5 来运行。
- 因此,你复制的范围将在保持源格式的前提下被粘贴。
阅读更多。 如何在Excel中使用VBA PasteSpecial的公式和格式(3种方法)
4.使用VBA PasteSpecial并在Excel的不同工作表中保留源格式
我们将在这一部分谈论一个非常重要的方法。 因为我们将通过如何使用PasteSpecial在 VBA 例如,我们将在多个工作簿中复制来自 'Sheet4' 并将其粘贴到 '张5 ,'如以下步骤所示。
步骤1。
- 打开 VBA宏程序 ,按 符号 + F11
- 从 插入 选项卡,选择 模块。
- 然后,粘贴以下内容 VBA。
Private Sub KeepSourceFormat() Application.ScreenUpdating = False '声明变量 Dim copyRng As Worksheet Dim pasteRng As Worksheet '为变量设置范围目标 Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") '设置粘贴单元格的目标' 对于单元格E4,Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)CopyRng.Range("B4:C11").Copy 'Command to paste range Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
第2步。
- 要运行该程序,请按 F5 保存程序后。
- 因此,你将得到在 第5张 与保持源格式。
阅读更多。 如何在Excel中使用粘贴特殊命令(5种合适的方法)
总结
综上所述,我希望你现在知道如何使用 Excel VBA 到粘贴特殊保持源格式。 所有这些策略都应该教给你的数据并用于它。 检查练习册并应用你所学到的东西。 因为有你的重要支持,我们才有动力继续做这样的讲座。
如果您有任何问题,请不要犹豫,与我们联系。 请在下面的评论框中分享您的想法。
您的问题将由以下人员尽快解答 优秀 工作人员。
留在我们身边,继续学习。