我目前正在使用代码来更新文件,其中循环运行多个工作表。到目前为止,代码运行顺利。在今天的运行中,我遇到了“运行时错误'-2147319767(80028029)'自动化错误,无效的前向引用,或未编译类型的引用。”
错误发生在线路上,Workbooks("Upload.xlsm").Worksheets(branchName).Range("C7").PasteSpecial Paste:=xlPasteValues并在循环的第 6 次迭代中出现。
我用作On Error Resume Next完成运行的临时措施,因为当时必须完成它。
完成后,有 3 次迭代失败(第六次、第七次和第十次)。这三者彼此之间没有相关性(即不同的复制源、值等),但具有完全相同的复制源/值的其他迭代成功完成。
稍后在这些工作表上运行另一个复制命令会导致相同的错误。我最终不得不删除并重新创建工作表来解决错误。
' Uploads file update
fpath = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("E3").Value
Workbooks.Open fpath & "Upload.xlsm"
For branchNo = 21 To 37
branchName = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("A" & branchNo).Value
branchGroup = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("B" & branchNo).Value
' Copy/Paste Buy & Sell
Workbooks("TEG Rates.xlsm").Worksheets(branchGroup).Range("D7:G111").Copy
Workbooks("Upload.xlsm").Worksheets(branchName).Range("C7").PasteSpecial Paste:=xlPasteValues
For no = 7 To 10
Workbooks("Upload.xlsm").Worksheets(branchName).Range("D" & no).Value = "=ROUND(100/C" & no & ",6)"
Next no
Workbooks("Upload.xlsm").Worksheets(branchName).Range("D14").Value = "=ROUND(100/C14,6)"
Workbooks("Upload.xlsm").Worksheets(branchName).Range("D15").Value …Run Code Online (Sandbox Code Playgroud)