我收到此错误:
类型不匹配:'objExcel.Cells(...).Value'
运行此程序时:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("myFile.xlsx")
strMach = "string1,string2,string3"
arrMach = Split(strMach, ",")
for j = 0 to Ubound(arrMach)
remove(arrMach(j))
Next
Function remove(strValue)
i = 1
removeCounter = 0
Do Until objExcel.Cells(i, 2).Value = ""
If objExcel.Cells(i, 2).Value = strValue Then
Set objRange = objExcel.Cells(i, 2).EntireRow
objRange.Delete
i = i - 1
removeCounter = removeCounter + 1
End If
i = i + 1
Loop
wscript.echo strValue & " - REMOVED!"
wscript.echo "Removed " & removeCounter & " results."
End Function
该程序用于从所有现有行中搜索字符串,如果找到,则删除整行。
该错误似乎来自以下行:
Do Until objExcel.Cells(i, 2).Value = ""
我已经尝试在大约 50 行的 excel 文件上对此进行测试,并且效果很好。但是,一旦我在大约 25,000 行的 excel 文件上使用它,我总是会收到错误消息。任何人都可以帮忙吗?文件的大小会在运行时影响我的代码吗?
谢谢你。
编辑: 我已经在超过 50,000 行的 excel 表上进行了测试,效果很好。但是,每当我在实际文件上使用它时,仍然会出现相同的错误。是否有任何我应该注意的特殊字符/值不能被上面的代码正确处理?再次感谢。