Excel宏根据单元格值将选择单元格从一个工作表复制到另一个工作表

时间:2014-02-09 17:43:11

标签: excel vba excel-vba

我正在尝试使用excel宏执行以下操作。当在工作表1上的单元格中输入日期时,我想从该行中获取特定单元格并将它们复制到工作表2上的新行。这是一个示例。

这将是第1页。

A         B            C               D            E
proj1     mary         started         -            fiber
proj2     jack         complete        2/7/2014     fiber  
proj3     kim          started         -            cat6
proj2     phil         complete        2/9/2014     fiber  

表2应该看起来像这样,因为它们中的两个有日期,我只想特意带来A,C和D行的单元格。

A         B            C
proj2     complete     2/7/2014
proj2     complete     2/9/2014

通过以下代码,我发现我能够根据单元格中的单词值引入整行但不仅仅是我想要的特定行,当然我希望它根据输入的日期触发而不是单词“回复”或“回复”。任何帮助将不胜感激。

Sub Foo()
Dim i As Long, iMatches As Long
Dim aTokens() As String: aTokens = Split("reply,response", ",")
For Each cell In Sheets("sheet1").Range("D:D")
    If (Len(cell.Value) = 0) Then Exit For
        For i = 0 To UBound(aTokens)
            If InStr(1, cell.Value, aTokens(i), vbTextCompare) Then
                iMatches = (iMatches + 1)
                Sheets("sheet1").Rows(cell.Row).Copy Sheets("sheet2").Rows(iMatches)
            End If
        Next
Next
End Sub

1 个答案:

答案 0 :(得分:2)

这可能会有所帮助。它需要放在Worksheet_Change部分。

这假设您的数据位于A:E的{​​{1}}列中,并且您希望在输入日期后将数据复制到Sheet1

Sheet2