Macros : to copy the number down

Kazdima

Board Regular
Joined
Oct 15, 2010
Messages
226
Hello,
I have 100 GL accounts and each GL has the same list of projects, as example- six projects.
I need to copy each GL account down for each project.
Can you help to write a Macro to automate this process?
Column AColumn B
GL AccountProjects
100Abc
Bcd
Cde
Def
Fgh
Ghi
200Abc
Bcd
Cde
Def
Fgh
Ghi
300Abc
Bcd
Cde
Def
Fgh
Ghi
400Abc
Bcd
Cde
Def
Fgh
Ghi

<colgroup><col style="mso-width-source:userset;mso-width-alt:3876;width:80pt" width="106"> <col style="mso-width-source:userset;mso-width-alt:4608;width:95pt" width="126"> </colgroup><tbody>
</tbody>
Thank you

<colgroup><col style="mso-width-source:userset;mso-width-alt:3876;width:80pt" width="106"> <col style="mso-width-source:userset;mso-width-alt:4608;width:95pt" width="126"> </colgroup><tbody>
</tbody>
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
If your table is literally as you posted try....

Code:
Sub FillCell1()
    Dim fCell As Range
    On Error Resume Next

    For Each fCell In Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row). _
        SpecialCells(xlCellTypeBlanks).Areas
        fCell.Value = fCell(1).Offset(-1).Value
    Next

    On Error GoTo 0
End Sub

I am assuming that Column A and Column B aren't part of the table.
 
Last edited:
Upvote 0
Another way as a 1 liner.

Code:
Sub FillDown()
Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C+1"
End Sub

Same assumptions that MARK858 stated.
 
Upvote 0
Try:
Code:
Sub ReplicateGLAcc()
 Dim a As Long
  For a = 2 To Cells(Rows.Count, 1).End(3).Row Step 6
   Cells(a, 1).Resize(6).FillDown
  Next a
End Sub
 
Upvote 0
Or yet another couple of options....

Code:
Sub FillDwn()

    Dim Ar As Areas
    Dim a As Range

    Set Ar = Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row).SpecialCells(xlBlanks).Areas
    For Each a In Ar
        a.Offset(-1).Resize(a.Rows.Count + 1).FillDown
    Next a

End Sub
Code:
Sub FillIt3()
  With Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row)
    .SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
  End With
End Sub
 
Last edited:
Upvote 0
HI Irobbo314,
You VBA creates sequential number population.
Sorry, that is not what I was looking for.
Mark858' s is working OK.
Thank you,
Dan
 
Upvote 0
Hi Osvaldo, yours VBA is not working..

Do not worry, Mark 858 solved the problem.
Thank you,
Dan
 
Upvote 0

Forum statistics

Threads
1,215,013
Messages
6,122,690
Members
449,092
Latest member
snoom82

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top