MS Project 宏 VBA

MS Project 宏 VBA

在 MS Project 中编写一个宏,从 Excel 中读取值。该宏应计算 Excel 工作表列中特定字符串的出现次数。我使用以下代码:

Set objXL = CreateObject("Excel.Application")
Set objWB = objXL.Workbooks.Open("D:\VBA\Design\" + FileName + ".xls")
Set ObjWS = objWB.Worksheets(1)   

ObjWS.Activate

Dim lastRow As Integer   
lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row

Dim iVal As Double    
iVal = WorksheetFunction.CountIf(ObjWS.Range("A1:A" & lastRow), "Resource:" & "*")

问题:当我第一次运行代码时,我得到了

运行时错误 13 类型不匹配

声明了哪里iVal。但是在停止执行并重新启动后,不会弹出此错误。

尝试的解决方案:将返回类型值更改为 Integer、Long 等。但错误仍然存​​在。

有人能帮助我追踪该问题并找到解决方案吗?

答案1

文档这表明你在此之前的作业(lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row)可能有问题。

您将其声明lastRow为 Integer,但文档指出,.RowaRange将是只读的 long。这无法解释为什么它第二次有效,但这可能是问题所在。

相关内容