From: tsraj on
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.
From: Bob Phillips on
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.


From: Gary Keramidas on
not sure if they are actually blank, but i used column A in my code


Sub copy_dates()
Dim ws As Worksheet
Dim lastrow As Long
Dim cell As Range
Set ws = Worksheets("Sheet1")
lastrow = ws.Cells(Rows.Count, "A").End(xlUp).Row

For Each cell In Range("A2:A" & lastrow)
If cell.Value = "" Then
cell.Value = cell.Offset(-1).Value
End If
Next
End Sub

--


Gary Keramidas
Excel 2003


"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.

From: FSt1 on
hi
try this
Sub copdats()
Dim r As Range
Dim c As Range
Dim lr As Long
lr = Cells(Rows.Count, "A").End(xlUp).Row
Set r = Range("A2:A" & lr)
For Each c In r
If c.Value = "" Then
c.Value = c.Offset(-1, 0).Value
End If
Next c
End Sub

regards
FSt1

"tsraj" wrote:

> 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.
From: tsraj on
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.
>
>
> .
>
 |  Next  |  Last
Pages: 1 2
Prev: Mail merge
Next: inserting a worksheet