我目前正在编写一个包含二维牛顿raphson sub的程序.它是这样开始的:
Sub newton11()
Dim x As Double, z As Double, tolerance As Double
Dim error_x As Double, error_z As Double
Dim iteration As Integer
iteration = 0
tolerance = 0.05
x = Range("h19").value
z = Range("h20").value
Run Code Online (Sandbox Code Playgroud)
但是当我运行sub时,它不起作用.当我调试时,我注意到当我在x上盘旋时,当Range("h19")为53时,它被赋值为-344,当Range("20")为0时,z被赋予-5.12.
有谁知道如何解决这个问题?
始终定义从中提取数据的工作表.如果你写:
x = Range("H19").Value
Run Code Online (Sandbox Code Playgroud)
默认你会说:
x = ActiveSheet.Range("H19").Value
Run Code Online (Sandbox Code Playgroud)
这可能是-344你在等待时的价值53.有了这个:
x = Sheets("myGoodSheet").Range("H13").Value
Run Code Online (Sandbox Code Playgroud)
你确定你引用了正确的那个.正如马克在评论中所说,如果你Workbooks(j)在Sheets集合前面引用正确的工作簿,那就更好了.
| 归档时间: |
|
| 查看次数: |
3065 次 |
| 最近记录: |