Prev: Mail merge
Next: inserting a worksheet
From: JLatham on 25 Mar 2010 22:35 To make it work for other columns, simply change the "A" entries in the code to the column identifier that you wish to work with. Note that the code is only working with the cells in the indicated column. It is possible to move an entire row of data based on the same type of conditions, but we would need to know if that is what you wish to do. "tsraj" wrote: > Thank you very much. It worked. Please let me have the code if I have > multiple columns where the procedure has to be applied. I am new to writing > VB codes. Thanks again. > > "Bob Phillips" wrote: > > > Try > > > > Public Sub ProcessData() > > Dim i As Long > > Dim LastRow As Long > > > > With ActiveSheet > > > > LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row > > For i = 2 To LastRow - 1 > > > > If .Cells(i, "A").Value2 = "" Then > > > > .Cells(i, "A").Value2 = .Cells(i - 1, "A").Value2 > > End If > > Next i > > End With > > End Sub > > > > -- > > > > HTH > > > > Bob > > > > "tsraj" <tsraj(a)discussions.microsoft.com> wrote in message > > news:13262B7A-C985-4EB8-9D5E-79C04F05ACAF(a)microsoft.com... > > >I am using Office 2007. In Excel, I like to write a code in Visual Basic > > >to > > > copy the contents of the cell above into a blank cell down below and > > > repeat > > > the procedure until it reaches the bottom of the data. All the cells are > > > not > > > blank cells. Only a few of them are blank cells. > > > Example of the column > > > 03/01/2008 > > > 01/01/2008 > > > > > > 02/01/2008 > > > > > > 03/01/2008 > > > > > > > > > 03/01/2008 > > > > > > 03/01/2008 > > > > > > 11/01/2007 > > > 12/01/2007 > > > 01/01/2008 > > > 02/01/2008 > > > I like to copy 01/01/2008 into the empty cell down below. Then move to > > > the > > > next blank cell and copy 02/01/2008 into the empty one. Repeat the > > > procedure > > > until it reaches the bottom of the data, in my example 02/01/2008. > > > > > > Any help in this regard is very much appreciated. > > > > > > . > > |