|
尊敬的利用VBA编程的各位高手下午好,我现在遇到一个关于双循环的问题,请大家予以解答,在线等!
本次编程想要的结果是根据物探深度在地质深度的区间,将地质深度的岩性赋予物探岩性,比如说,物探深度0.25在地质深度0.00~0.90之间,那么物探岩性就是0.90的地质岩性泥岩,物探深度2.70在地质深度1.80~2.70之间,那么物探岩性也是2.70的岩性泥岩,其中物探深度部分会重复。
代码部分:
Sub 拆分1()
Dim dz As Variant
Dim wt As Variant
Dim dznum As Integer
Dim wtnum As Integer
dznum = Application.WorksheetFunction.CountA(range("A:A"))
wtnum = Application.WorksheetFunction.CountA(range("C:C"))
dz = ActiveSheet.range("A1", "B" & dznum)
wt = ActiveSheet.range("C1", "D" & wtnum)
Dim dzi As Integer
Dim wti As Integer
dzi = 2
wti = 2
While dzi <= dznum
While wti <= wtnum And wt(wti, 1) > dz(dzi, 1) And wt(wti, 1) <= dz(dzi + 1, 1)
wt(wti, 2) = dz(dzi + 1, 2)
ActiveSheet.range("D" & wti).Value = wt(wti, 2)
wti = wti + 1
Wend
dzi = dzi + 1
Wend
End Sub
执行结果:根据图片,红色框的部分应该泥岩,为什么每次程序执行到这里的时候,就自动跳出了循环,是因为我的循环判断条件有问题吗?
麻烦各位高手指导,非常感谢
|
-
原始数据
-
程序执行后
|