从Excel生成的MS Project跳过空行

问题描述

这个问题并不关乎任何应用程序,而是更多地寻找可行的算法。 我有一个代码,用于将数据从Excel移动到MS Project。我的当前解决方案将一直有效,直到之间没有空行为止。

我有从第19行开始的数据。因此19-18是第一任务,20-18是第二任务,依此类推。但是,一旦我之间有空行,就说:

Task 1 (row 19)
Task 2 (row 20)

Task 3 (row 22)

我的代码不起作用,因为MS Project中有任务2,下一个应该是3,但是22-18是4。有人对此有什么好的解决方案?

代码如下:

    ' Move data to project
    For i = 19 To lRow
    
        strValue = WorksheetToOperate.Range("C" & i)
        strStartDate = WorksheetToOperate.Range("E" & i)
        strEndDate = WorksheetToOperate.Range("F" & i)
        Strresource = WorksheetToOperate.Range("J" & i)
        
        ' Import tasks
        If (WorksheetToOperate.Range("C" & i).Value <> "") And _
        (Not IsError(WorksheetToOperate.Range("C" & i).Value)) Then
            newproj.Tasks.Add strValue
        End If
        
        ' Import start date
        If (WorksheetToOperate.Range("E" & i).Value <> "") And _
        (Not IsError(WorksheetToOperate.Range("E" & i).Value)) Then
            newproj.Tasks(i - 18).Start = strStartDate
        End If
        
        ' Import end date
        If (WorksheetToOperate.Range("F" & i).Value <> "") And _
        (Not IsError(WorksheetToOperate.Range("F" & i).Value)) Then
            newproj.Tasks(i - 18).Finish = strEndDate
        End If
        
        ' Import recources
        If Not ExistsInCollection(newproj.Resources,Strresource) Then _
        newproj.Resources.Add.Name = Strresource
        
        If (WorksheetToOperate.Range("J" & i).Value <> "") And _
        (Not IsError(WorksheetToOperate.Range("J" & i).Value)) Then
            newproj.Tasks(i - 18).ResourceNames = Strresource
        End If
    
    Next i 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)