VBA执行直到循环代码将单元格范围复制到其他范围,直到相同的值

时间:2017-07-06 06:58:22

标签: vba

我制作了一张excel表格,当输入G1中的值时,会更新某些单元格区域(J11到J36)值。

然后,手动输入(或复制)从J11到J36的值到D11到D36。 通过这样做,J11到J36的值将再次变化。那么,我做迭代计算,使两个范围相同。

是否有自动执行此操作的宏代码?

我试图直到循环,但它只复制第一个J11范围。

仅供参考,在J11到J36的范围内,有一些标题行是J19,J20,J28,J29,复制时应跳过这些行。

我目前的代码如下,

Sub DoUntilloop()

Dim i As Integer

i = 11
For i = 11 To 16


Do Until i > 16
Cells(i, 4).Value = Cells(i, 10)
i = i + 1
Loop

Next i

End Sub

对此的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

你当前的循环实际上应该处理第11到16行,而不仅仅是你在问题中陈述的11。但是,它的设计很差,因为不需要有两个循环 - 外部循环实际上没有像现在这样做。

Sub DoUntilloop()

    Dim i As Long

    For i = 11 To 36
        If i <> 19 And i <> 20 And i <> 28 And i <> 29 Then
            Cells(i, "D").Value = Cells(i, "J").Value
        End If
    Next i

End Sub

答案 1 :(得分:0)

感谢您的回复。那段代码帮助我进一步构建了