将特定行移动到其他工作表

时间:2015-11-10 15:57:27

标签: excel vba

如何移动sheet1的完整行(或多行),如果在该行上C列的单词"已解决",到第2个第2页的空行?

与条件不匹配的其他行需要在工作表1中继续但占用空行(如果是这种情况)(在所有行之间没有空格)。

1 个答案:

答案 0 :(得分:1)

这将完全按照您的意愿完成:

Sub Gonzalo()

    Const SEARCH_COLUMN = 3
    Const KEYWORD = "solved"

    Dim n&
    Application.ScreenUpdating = 0
    Application.Calculation = xlCalculationManual
    On Error Resume Next
    Do While Err = 0
        n = Application.Match(KEYWORD, Sheet1.Columns(SEARCH_COLUMN), 0)
        If Err = 0 Then
            Sheet2.Rows(Sheet2.[index(a:a,1+max(iferror(match({"*";9E+99},a:a,{-1;1}),1)))].Row) = Sheet1.Rows(n).Value
            Sheet1.Rows(n).Delete xlUp
        End If
    Loop
    Application.ScreenUpdating = 1
    Application.Calculation = xlCalculationAutomatic

End Sub

注意:使用前两行编辑搜索列,使用要搜索的关键字。