从sheet1复制数据并将数据粘贴到sheet2时添加一列或多列

时间:2018-11-30 17:31:56

标签: excel vba excel-vba

下面的代码根据以下代码中提到的条件将数据从sheet1复制到sheet2。我想在运行VB代码时在工作表2的开头或结尾处插入列。如果我还可以为每个要添加的新列在每个单元格中提供不同类型的过滤器选项,那就太好了。例如,当VB代码将数据从sheet1粘贴到sheet2时,我想在sheet2中添加一个新列。列“ Action”中每个单元格的“ Action”列名称带有过滤器选项“ Close,离开,打开”

Option Explicit

Private Sub CommandButton21_Click()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim i As Long, MyUnion As Range, LRow As Long

For i = 2 To ws.Range("A" & ws.Rows.Count).End(xlUp).Row
    If ws.Range("G" & i) > #10/31/2013# Or ws.Range("AA" & i) = "Investigate" Or ws.Range("AA" & i) = "Leave Open" Then
        If Not MyUnion Is Nothing Then
            Set MyUnion = Union(MyUnion, ws.Range("G" & i))
        Else
            Set MyUnion = ws.Range("G" & i)
        End If
    End If
Next i

If Not MyUnion Is Nothing Then
    With ThisWorkbook.Sheets("Sheet2")
        LRow = .Range("A" & .Rows.Count).End(xlUp).Offset(1).Row
        MyUnion.EntireRow.Copy .Range("A" & LRow)
    End With
End If

End Sub

0 个答案:

没有答案