2016-04-04 4 views
0

wie Sie sehen kann Ich möchte es jedes Mal wiederholen, wenn Sie zum nächsten Wert gehen ... Gibt es einen einfacheren Weg, dies zu tun?Brauchen Sie eine Schleife, die die gleiche Formel aber für die folgende Spalte

Ich habe die Loop-Funktion versucht, aber ich weiß nicht, wie dies funktioniert, so dass es jedes Mal für die nächste Zeile zur nächsten Spalte ausgeführt wird.

Sub rebuild() 
If D28 > 2600000 Then 
Range("E$110:I$120").Select 
Selection.Copy 

Range("E18:Il28").Select 
ActiveSheet.Paste 
End If 

If E28 > 2600000 Then 
Range("E$110:I$120").Select 
Selection.Copy 

Range("F18:Jl28").Select 
ActiveSheet.Paste 

End If 

If F28 > 2600000 Then 
Range("E$110:I$120").Select 
Selection.Copy 

Range("G18:Kl28").Select 
ActiveSheet.Paste 

End If 


If G28 > 2600000 Then 
Range("E$110:I$120").Select 
Selection.Copy 

Range("H18:Ll28").Select 
ActiveSheet.Paste 

End If 


End sub 

Antwort

0

Eine Lösung könnte sein, Ihre Variablen in ein Feld zu setzen, und dann eine einfache for Schleife machen.

Dim MyArray(4, 2) as Variant 
MyArray(0,0) = D28 
MyArray(0,1) = Range("E18:Il28") 
MyArray(1,0) = E28 
MyArray(1,1) = Range("F18:Jl28") 
MyArray(2,0) = F28 
MyArray(2,1) = Range("G18:Kl28") 
MyArray(3,0) = G28 
MyArray(3,1) = Range("H18:Ll28") 

For i = LBound(MyArray) to UBound(MyArray) 
    If MyArray(i,0) > 2600000 then 
     Range("E$110:I$120").Copy 
     MyArray(i,1).Paste 
    End If 
Next 
+0

ich davon aus bin nicht sehen, dass der Wert von 'D28' ist' Zellen ("D28"). Value' wie @ Siddarth-Rout tut. – ZwoRmi

1

Es ist wirklich sehr einfach. Ich habe den Code kommentiert.

Sie müssen auch keinen Bereich zum Kopieren/Einfügen auswählen. Möglicherweise möchten Sie THIS

Sub rebuild() 
    With Sheet1 '~~> Change this to the relevant sheet 
     For i = 4 To 6 '<~~ Col 4 (D) to Col 6 (F) 
      If .Cells(28, i).Value > 2600000 Then 
       '~~> Increment the range wgere you want to paste 
       .Range("E$110:I$120").Copy .Range(.Cells(18, i + 1), .Cells(128, i + 5)) 
      End If 
     Next i 
    End With 
End Sub 
Verwandte Themen