创建按钮将行从工作表1复制到工作表2

时间:2014-09-04 13:17:41

标签: excel excel-vba button vba

我有工作表1,列A到D。

一旦填充了工作表1中的单元格C,我想创建一个执行要复制到工作表2的行的按钮。

我根本没有Excel经验,到目前为止,我发现并修改了这个宏代码以满足我的需求:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 And Target.Cells.Count = 1 Then
        Target.EntireRow.Copy _
        Destination:=Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End If
End Sub

但是当我尝试创建一个按钮来执行这个宏时,它永远不会工作。请有人帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

这是你在尝试什么?详细了解Worksheet_Change HERE

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim lRow As Long

    On Error GoTo Whoa

    Application.EnableEvents = False

    If Target.Cells.CountLarge > 1 Then Exit Sub

    Set ws = ThisWorkbook.Sheets("Sheet2")
    lRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row + 1

    If Not Intersect(Target, Columns(3)) Is Nothing Then _
    Target.EntireRow.Copy Destination:=ws.Rows(lRow)

Letscontinue:
    Application.EnableEvents = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume Letscontinue
End Sub

修改

如果代码仍无效,则从VBA编辑器中按 CTRL + G 以显示即时窗口并键入此

Application.EnableEvents = True

并按 ENTER 键,现在代码可以正常工作。

enter image description here