如果值等于2,则复制整行并粘贴到工作表中

时间:2018-05-08 05:54:07

标签: excel vba excel-vba

我有一个工作簿,其中sheet1已格式化为表格,第一列列出了数字,然后是旁边的一些项目。 〔实施例:

Column1    Column2    Column3    Column4
   1        Blue       Green     Yellow
   2        Apple      Grape      Mango
   3       Computer    Phone      Tablet

我想创建VBA模块,如果我在Sheet2.A1范围内输入数字“2”,它将复制该行:

2        Apple      Grape      Mango

将其粘贴到sheet2中。

1 个答案:

答案 0 :(得分:-1)

假设您要复制4个单元格。下面的代码被复制到Sheet1的模块中。检查Target以确保它是第一列,并且只编辑了一个单元格。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count = 1 And Target.Column = 1 Then
        Target.Resize(ColumnSize:=4).Copy Sheet2.Cells(Rows.Count, "A").End(xlUp).Offset(RowOffset:=1)
    End If
End Sub

还有更多可以做的事情,但上述内容应该有助于提供一个框架。请查看Worksheet.Change EventRange Object,因为它们是用来实现此目的的。