Can I loop this somehow?

Q

Qaspec

Public Sub UpdateVarianceSheets()


Worksheets("Variance").Range("C5:E5").Value =
Worksheets("Numbers").Range("C3:E3").Value
Worksheets("Variance").Range("C6:E6").Value =
Worksheets("Numbers").Range("F3:G3").Value
Worksheets("Variance").Range("C7:E7").Value =
Worksheets("Numbers").Range("I3:K3").Value

End Sub

The destination range ("Variance") is in 3 columns increasing by a row for
each label. The target range ("Numbers") is in 3 columns but moves over to
the next 3 columns on the same row for each label. This goes until row 19
for "Variance" and columns AV-AX for "Numbers"
 
J

Jacob Skaria

Try the below

Dim ws1 As Worksheet, ws2 As Worksheet
Dim lngCol As Long, intTemp As Integer
Set ws1 = Worksheets("Variance")
Set ws2 = Worksheets("Numbers")

For intTemp = 5 To 19
lngCol = (intTemp - 4) * 3
ws1.Range(ws1.Cells(intTemp, "C"), ws1.Cells(intTemp, "E")).Value = _
ws2.Range(ws2.Cells(3, lngCol), ws2.Cells(3, lngCol + 2)).Value
Next

If this post helps click Yes
 
J

Joel

Public Sub UpdateVarianceSheets()


RowCount = 3
NewRow = 5
With Worksheets("Numbers")
Do While .Range("C" & RowCount) <> ""
ColCount = 3
Do While .Cells(RowCount, ColCount) <> ""
Worksheets("Variance") _
.Range("C" & NewRow & ":E" & NewRow).Value = _
.Range(.Cells(RowCount, ColCount), _
.Cells(RowCount, ColCount + 2)).Value
NewRow = NewRow + 1
ColCount = ColCount + 3
Loop
RowCount = RowCount + 1
Loop
End With
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top