需要重复代码30次

时间:2016-04-03 06:37:23

标签: excel vba excel-vba

这是我的代码,我想重新执行它,以便下一列重复完全相同的代码。也就是说,D:28移至E:28,范围E:110:I120移至F110:J120。我找不到这样做的循环,有人可以帮忙。我的代码是,

Sub Rebuild() 
tonnes = Range("D28").Value
If tonnes > 2600000 Then

Range("E110:I120").Select
Selection.Copy

Range("E18:I28").Select
ActiveSheet.Paste

Else:

Range("E18:I28").Interior.Color = xlNone
Range("E18:I18") = ""
Range("E19:I19") = ""
Range("E20:I20") = 0
Range("E21:I21") = 2.4
Range("E22:I22") = "=E21+E20"
Range("E23:I23") = "=24 - E22"
Range("E24:I24") = "=100 * E23 / 24"
Range("E25:I25") = 3000
Range("E26:I26") = "=E25 * E23"
Range("E27:I27") = "=E26"
Range("E28:I28") = "=D28 + 27"

End If
End Sub

1 个答案:

答案 0 :(得分:0)

Option Explicit

Sub Rebuild()

Dim cumtonnes As Long

'you initially had tonnes as the variable name, but I was not sure if this was a typo or not.
cumtonnes = Range("D28").Value

If cumtonnes > 2600000 Then

    Range("E110:I120").Copy Range("F110:J120")

    Range("D28").Copy Range("E28")

Else:

    Range("E18:I28").Interior.Color = xlNone
    Range("E18:I18") = ""
    Range("E19:I19") = ""
    Range("E20:I20") = 0
    Range("E21:I21") = 2.4
    Range("E22:I22") = "=E21+E20"
    Range("E23:I23") = "=24 - E22"
    Range("E24:I24") = "=100 * E23 / 24"
    Range("E25:I25") = 3000
    Range("E26:I26") = "=E25 * E23"
    Range("E27:I27") = "=E26"
    Range("E28:I28") = "=D28 + 27"

End If
End Sub

所以我调整了将要复制和粘贴单元格的部分。我目前没有添加任何循环,因为我不知道你想要重复30次。