VBA粘贴(分步指南)|如何使用VBA代码粘贴数据?

Excel VBA粘贴

有三种不同的方法可以使用VBA在工作表中将一些数据从位置粘贴到另一个数据中,第一种方法通常是使用赋值运算符将一个单元格中的值引用到另一个单元格中,另一种方法是使用粘贴功能,第三种方法是通过使用pastespecial函数。

复制和粘贴是我们每天在工作场所中最常做的事情。在常规电子表格中,我们不需要对其进行任何特殊介绍。在VBA编程中,了解“ PASTE”方法的概念以理解程序可以更进一步,这一点非常重要。

通过记录宏了解VBA粘贴方法

首先,让我们通过记录一个简单的宏来了解粘贴方法的工作原理。我已经在单元格A1中输入了一个值,如下图所示。

现在,我将向您展示从单元格A1复制到A3的方法。请按照以下步骤记录宏。

步骤1: 单击excel开发人员选项卡下的记录宏。

第2步: 当您单击记录宏时,它将为您显示默认宏的名称。到目前为止,只需单击“确定”。

第三步: 当您单击确定时,它将开始记录您所做的活动。您需要做的第一件事是选择要复制的单元格A1。

第4步: 现在按 Ctrl + C 复制选定的单元格。

步骤5: 现在,选择需要粘贴复制值的单元格A3。

步骤6: 现在按 Ctrl +V。

步骤7: 现在停止录音。

转到可视化基本编辑器以查看记录。下面是录音。

我们在这里要做的第一件事是“我们选择了单元格A1”,因此该活动的代码是 范围(“ A1”)。选择

下一个活动是我们复制了单元格A1。您会注意到这里的代码不是 范围(“ A1”)。复制 而是说 选择。复制, 这是因为在您选择单元格的那一刻,它就变成了活动单元格或选择。所以它称为 选择。复制.

第三个活动是我们选择了要粘贴的单元格A1,因此代码为 范围(“ A3”)。选择

最后的活动是我们将值粘贴到单元格中。这里说Active Sheet是因为选择单元格的那一刻,它就成为活动表的活动单元格。所以代码是 “ ActiveSheet.Paste”

这就是粘贴方法在VBA中的工作方式。

公式

以下是VBA粘贴方法的公式:

Expression.Paste(目标,链接)

一种表达 就是什么,但是您要粘贴的工作表名称是什么。为了更好地了解工作表对象,请阅读有关“ VBA工作表”的文章。

如果要粘贴到已复制的同一工作表中,则可以按名称引用其他工作表,也可以按“活动表”引用当前工作表。

目的地: 提及工作表名称后,我们需要引用目标单元格地址。例如,如果要粘贴在工作表“销售数据”中以及单元格A5至A10中,则下面是示例代码。

工作表(“销售数据”)。范围(“ A5:A10”)

如果您忽略此参数,那么无论活动单元格如何,都将被视为目标单元格。

关联: 如果要创建到复制范围的链接,则可以将参数设置为TRUE或FALSE。

Excel VBA中的粘贴方法示例

下面是Excel VBA粘贴方法的示例。

Example#1 –粘贴在同一Excel工作表中

现在,让我们在同一张纸上查看VBA粘贴方法的用法。例如一个演示,我从单元格A1到A5的值很少。

现在,我要复制此内容并将其粘贴到C5中。请按照以下步骤自行编写代码。

步骤1: 在发布任何内容之前,我们需要做的第一件事就是复制数据范围。因此,将范围从A1复制到A5。

代码:

 Sub Paste_Example1()Range(“ A1:A5”)。Copy End Sub 

第2步: 复制后,我们需要指定粘贴位置。为此,我们首先需要指定工作表名称,在这种情况下,由于我们要粘贴在同一工作表中,因此请使用Active Sheet对象。

代码:

 Sub Paste_Example1()Range(“ A1:A5”)。Copy ActiveSheet.Paste End Sub 

第三步: 选择粘贴方法后,我们还需要指定目标。因此,目的地将是范围C1至C5。

代码:

 Sub Paste_Example1()Range(“ A1:A5”)。Copy ActiveSheet.Paste Destination:= Range(“ C1:C5”)End Sub 

第4步: 现在,我不想创建与此VBA粘贴方法的任何链接,因此我忽略了下一个参数。

现在,使用F5键或手动运行此代码,它将从A1复制到A5,并将其粘贴到C1到C5。

如果查看从C1到C5的值,则这些值与从A1到A5的单元格中的值相同。因此,此VBA粘贴方法将复制所有内容并将其粘贴。

现在,我将使用LINK参数来查看其工作原理。对于LINK参数,我提供了TRUE。

代码:

 Sub Paste_Example1()Range(“ A1:A5”)。Copy ActiveSheet.Paste Link:= True End Sub 

这将创建从A1到A5的单元格链接。

因此,它创建了一个链接。一个值得注意的缺失是此处单元格的格式。它没有粘贴任何格式样式。

Example#2 –粘贴到不同的Excel工作表中

从一个工作表复制到另一个工作表需要工作表名称。假设您要从“第一张纸”工作表中复制数据,并要粘贴到“第二张纸”工作表中,下面是引用这些工作表的方法。

代码:

 Sub Paste_Example2()工作表(“第一工作表”).Range(“ A1:A5”)。复制工作表(“第二工作表”)。粘贴目标:= Range(“ C1:C5”)End Sub 

这将从名为“ First Name”的工作表名称将数据从A1复制到A5,然后将其粘贴在工作表“ Second Sheet”中的C1至C5范围内。

您可以在此处下载VBA粘贴模板:-VBA粘贴Excel模板