2016-04-03 6 views
0

это мой код, и я хочу его повторно выполнить, чтобы в следующем столбце был повторен тот же самый код. То есть D:28 переходит на E:28 и дальность E:110:I120 переходит на F110:J120. У меня возникли проблемы с поиском петли, которая делает это, может ли кто-нибудь помочь. Мой код,Необходимо повторить код 30 раз

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 
+0

Вы хотите, чтобы ссылки на ячейки в ваших формулах менялись или были одинаковыми после их копирования? E25 * E23 становится F25 * F23? –

+0

Да, я хочу, чтобы все они менялись, чтобы код повторялся для следующего столбца для 30 столбцов на листе. – Kstar

+0

Единственный код, который я хочу сохранить, это диапазон, который я копирую, это E110: I120 – Kstar

ответ

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 раз.

+0

«тонны» - стандартное написание метрических тонн: https: //en.wikipedia.org/wiki/Tonne –

+0

@JohnColeman Я использую тонны все время, где я работаю. в исходном столбце в качестве переменной и кумтонов в качестве переменной были тонны. Я сделал предположение, что он хотел, чтобы то же самое я только что изменил в неправильном направлении. –

+0

Я вижу - оригинальная опечатка должна быть удалена в последующих редакциях. –