gpt4 book ai didi

excel - 在 for 循环中移动时避免 Cell 规范

转载 作者:行者123 更新时间:2023-12-04 22:00:46 24 4
gpt4 key购买 nike

我正在尝试使用阶跃函数来描述曲线。这主要是由于其他方法不如此方法精确,其中数据点通过线性关系连接。
我有一张 x 值表。获取每个 x 值,并与第二个表进行比较,直到满足以下条件:

值2>值1

一旦实现,第二个表用于构建线性关系,我可以使用它准确计算第一个值的实际结果,即 y 值(假设 y = f(x) ),它被引入最后一个表。

然后必须以完全相同的方式重复此过程,但是从其中获取第一个值的表和包含结果的下表在每次表迭代时都会向右移动。

我使用的代码如下:

Sub alpha()

Dim a As Integer
a = 0
Begin_Count:
a = a + 1


Dim l As Integer
For l = 1 To 13

'Check the first value
Val1 = Range(Chr(a + 66) & (l + 269))

'Check the numbers to compare range
Dim i As Integer
For i = 1 To 12:
Val2 = Range(Chr(67) & (i + 284))
If Val2 > Val1 = True Then

'Calculate Cl
dy = (Range("D" & (i + 284)) - Range("D" & (i + 283)))
dx = (Range("C" & (i + 284)) - Range("C" & (i + 283)))
x = (Val1 - Range("C" & (i + 283)))
y = Range("D" & (i + 283))

Cl = ((dy / dx) * x) + y

'Insert Cl
Range(Chr(a + 66) & (l + 299)).Value = Cl

Exit For
End If


Next


Next
If a < 101 = True Then
GoTo Begin_Count
End If

End Sub

此代码一直运行,直到它到达 Excel 中的单元格标记为“AA”、“AB”等的点,此时代码会出错。

谁能帮我解决这个问题?

最佳答案

代替:

Range(Chr(a + 66) & (l + 299)).Value = Cl

利用
Cells(l+299, a).Value = Cl

一般情况下更容易使用 Cells()使用两个数字参数而不是尝试创建一个地址字符串以传递给 Range() ,特别是如果您正在处理单个单元格。

关于excel - 在 for 循环中移动时避免 Cell 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com