excel - sloop的循环函数但遇到错误
问题描述
我正在研究一个计算斜率的循环函数。对于数据循环,代码有效,但对于文件循环,它说
错误 1004:“应用程序定义或对象定义错误”
我无法解决为什么会这样,需要一些帮助。
Sub B3_Sensitivity2()
Dim Xcol As Integer, Ycol As Integer
Dim n As Integer, m As Integer
m = 0
For file = 1 To 2
n = 0
For data = 1 To 12
Dim Yrng As Range, Xrng As Range, Grad As Range
Set Yrng = Sheets("data").Range("F2:F8").Offset(n, m)
Set Xrng = Sheets("data").Range("E2:E8").Offset(n, m)
Set Grad = Sheets("data").Range("G2").Offset(n, m)
Grad.Value = Application.WorksheetFunction.Slope(Yrng, Xrng) [**error 1004 occur here**]
n = n + 7
Next data
m = m + 10
Next file
End Sub
解决方案
您将需要检查循环的每次迭代,因为您在某处将无效值(或多个值)输入到您的方程式中。当您的范围变量包含以下任何一项时,这将出错。请注意,任一范围内只有一个实例会产生错误 1004
- 空单元格
- 非数字单元格
debug.print
您可以在循环时使用file
&data
来查找最后一个成功的范围,也可以单步执行您的代码。您的目标是找出失败的范围,然后检查该范围内的每个单元格。您可能会发现导致宏失败的空白单元格或文本单元格。
——
如果您有时希望出现无效的单元格值并且希望代码继续运行,则应在此处添加一些错误处理
推荐阅读
- java - 写入和保存文件并打开它
- javascript - 哪个 RxJS Observable 运算符实现惰性/动态 forkJoin 行为
- reactjs - 如何在混合场景中使用 ReactJS
- java - 重构闭包条件以修复列表中的最大表达式数为 1000
- c++ - C++ 编程:作业的输出略微关闭
- scala - 使用reduceByKey时在scala中类型不匹配
- javascript - csv格式问题javascript p5
- scikit-learn - CountVectorizer 上的词形还原不会删除停用词
- azure - Xamarin.Forms 绑定 - 相同的属性值绑定到 ListView 中的每个项目
- python - Python 中的 Aws IOT 作业