在Excel中使用vba构建待办事项列表:如何动态插入行?

时间:2019-01-08 23:14:55

标签: excel vba excel-formula

首先:非常抱歉,如果以前已经回答过。我看了看,发现没有什么对我有帮助。我是新手,非常感谢您的帮助。

我的问题:我有一个包含所有都有单独ID的项目的工作表,另一个有包含同样具有单独Task-ID和它们所属项目的ID的任务的工作表。有一些任务属于一个项目。

我想要做的是自动对任务所属的项目进行排序,类似于正常的工作清单。

Here is an imgur gallery of example pictures

再次,我们将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用双循环以这种方式处理两个工作表(项目和任务):

    Public Sub DoResults()
    Set P = Sheets("Projects")
    Set T = Sheets("Tasks")
    Set R = Sheets("Result")

    Dim row_p, row_t, row_r As Integer
    Dim curr_project_id


    row_p = 2
    row_t = 2
    row_r = 2

    R.UsedRange.ClearContents

    While (P.Range("A" & row_p) <> "")
        curr_project_id = P.Range("A" & row_p)

        'Copy the project row in the Results Sheet
        P.Range("A" & row_p & ":C" & row_p).Copy R.Range("A" & row_r)
        row_r = row_r + 1

        While (T.Range("A" & row_t) = curr_project_id)
            T.Range("B" & row_p & ":D" & row_p).Copy R.Range("D" & row_r)
            row_t = row_t + 1
            row_r = row_r + 1
        Wend
        row_p = row_p + 1
    Wend

End Sub