【发布时间】:2021-07-23 23:30:47
【问题描述】:
我正在尝试从 Excel 中获取数据表并将其导入 MS Project
这是我在 Excel 中的截图:
CC:列标题的 Excel 表格:WBS、任务名称、开始日期、完成日期、工期、工时和资源名称,其中包含独立于资源名称分配的数据行。
这是我正在寻找能够从 Excel 生成到 MS Project 的 VBA 代码的屏幕截图:
CC:MS 项目文件显示 WBS、任务名称、开始日期、完成日期、持续时间、工作和资源名称列,其中资源名称按 WBS 分组。
我尝试过复制和粘贴,但 VBA 必须有更好的选择(我希望?)
如果有问题,我很乐意回答。
非常感谢任何人能给我的帮助!
编辑: 这是我现在拥有的 VBA:
Sub ExceltoProject()
Dim pjapp As Object
Dim strValue, strStartDate, strEndDate, Strresource As String
Dim newproj
Set pjapp = CreateObject("MSProject.Application")
If pjapp Is Nothing Then
MsgBox "Project is not installed"
Exit Sub
End If
pjapp.Visible = True
Set newproj = pjapp.Projects.Add
newproj.Title = "ExcelExtract"
Set ActiveProject = newproj
For i = 2 To 4
strWBS = Worksheets("LABOR_IMS_INPUT").Range("A" & i)
strTaskName = Worksheets("LABOR_IMS_INPUT").Range("B" & i)
strStartDate = Worksheets("LABOR_IMS_INPUT").Range("C" & i)
strEndDate = Worksheets("LABOR_IMS_INPUT").Range("D" & i)
strDuration = Worksheets("LABOR_IMS_INPUT").Range("E" & i)
Strresource = Worksheets("LABOR_IMS_INPUT").Range("F" & i)
strWork = Worksheets("LABOR_IMS_INPUT").Range("G" & i)
newproj.Tasks.Add (strValue & " " & Strresource)
newproj.Resources.Add.Name = Strresource
newproj.Tasks(i - 1).ResourceNames = Strresource
Next i
End Sub
Public Function ExistsInCollection(pColl, ByVal pKey As String) As Boolean
On Error GoTo NoSuchKey
If VarType(pColl.Item(pKey)) = vbObject Then
' force an error condition if key does not exist
End If
ExistsInCollection = True
Exit Function
NoSuchKey:
ExistsInCollection = False
End Function
但这就是我得到的:
CC: Excel file and MS Project file. MS Project file only has "resource sheet name" data.
任何想法正在发生的事情。是我做错了吗?
抱歉之前的问题清晰,我有视力障碍,正在尝试编码!
【问题讨论】:
-
如果您真正需要做的只是将 Excel 中的数据获取到 Project 中,只要在 Excel 中合并行,复制粘贴就可以很好地工作,这样每个任务只有一行(例如,合并资源)。它可以用 VBA 完成,从 Excel 自动化项目,反之亦然。
-
rachel,感谢您的评论,我有一些东西要从项目中获取数据到 excel,我只是在努力开发 VBA,它将从 excel 中获取数据并将其放入项目中。
-
展示你拥有的东西,并就你的代码在哪里不工作提出具体问题。这就是 stackoverflow 的意义所在——在特定问题上获得帮助。这并不是一个真正的为我编写整个程序的网站。查看How do I ask a good question。
-
嘿瑞秋,谢谢你的评论。真的有帮助,诚实。我是新来的,所以如果我生锈了,我很抱歉。我已经编辑了上面的内容,希望能更好地解释这一点。让我知道它是否是您正在寻找的东西
标签: excel vba ms-project