#1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 4
Default VB code

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.
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 226
Default VB code

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" wrote in message
...
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.


  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 834
Default VB code

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" wrote in message
...
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.



  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 3,942
Default VB code

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.

  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 4
Default VB code

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" wrote in message
...
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.



.



  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,203
Default VB code

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" wrote in message
...
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.



.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
split post code (zip code) out of cell that includes full address Concord Excel Discussion (Misc queries) 4 October 15th 09 06:59 PM
Code to conditional format all black after date specified in code? wx4usa Excel Discussion (Misc queries) 3 December 26th 08 07:06 PM
Drop Down/List w/Code and Definition, only code entered when selec Spiritdancer Excel Worksheet Functions 2 November 2nd 07 03:57 AM
Convert a Number Code to a Text Code Traye Excel Discussion (Misc queries) 3 April 6th 07 09:54 PM
copying vba code to a standard code module 1vagrowr Excel Discussion (Misc queries) 2 November 23rd 05 04:00 PM


All times are GMT +1. The time now is 12:31 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"