Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Automated cell copy depending on cell content?

Hi,

Specifically, I'm looking for a macro that does the following:

For a selected column
For any cell in this column
if (the current cell is not empty) and
(the cell above the current cell is empty) and
(the cell below the current cell is empty)
then
copy the content of the current cell into the cell below
(alternatively, into the cell at the right).

The column A below should become column B after applying the macro.

Col. A Col.B
<empty <empty
<empty <empty
one one
<empty one
<empty <empty
<empty <empty
two <two
three <three
<empty <empty
<empty <empty
four <four
<empty <four

This should be pretty straight-forward but I am totally unaware of the
VB syntax. Thanks in advance,

Best regards
--Joachim




  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Automated cell copy depending on cell content?

for i = cells(rows.count,1).End(xlup).row+1, to 2 step -1
if not isempty(cells(i,1)) and isempty(cells(i+1)) and
isempty(cells(i-1,1) then
cells(i+1,1).Value = cells(i,1).Value
end if
Next

Regards,
Tom Ogilvy


"Joachim Fabini" wrote in message
...
Hi,

Specifically, I'm looking for a macro that does the following:

For a selected column
For any cell in this column
if (the current cell is not empty) and
(the cell above the current cell is empty) and
(the cell below the current cell is empty)
then
copy the content of the current cell into the cell below
(alternatively, into the cell at the right).

The column A below should become column B after applying the macro.

Col. A Col.B
<empty <empty
<empty <empty
one one
<empty one
<empty <empty
<empty <empty
two <two
three <three
<empty <empty
<empty <empty
four <four
<empty <four

This should be pretty straight-forward but I am totally unaware of the
VB syntax. Thanks in advance,

Best regards
--Joachim






  #3   Report Post  
Posted to microsoft.public.excel.programming
No Name
 
Posts: n/a
Default Automated cell copy depending on cell content?

=IF(AND(A2<"",A1="",A3=""),A2,A3)

Put this in all cells in column B

but put a blank row at the top. I guess you could be
clever and juggle about with the first row but best to
keep it simple.
-----Original Message-----
Hi,

Specifically, I'm looking for a macro that does the

following:

For a selected column
For any cell in this column
if (the current cell is not empty) and
(the cell above the current cell is empty) and
(the cell below the current cell is empty)
then
copy the content of the current cell into the

cell below
(alternatively, into the cell at the right).

The column A below should become column B after applying

the macro.

Col. A Col.B
<empty <empty
<empty <empty
one one
<empty one
<empty <empty
<empty <empty
two <two
three <three
<empty <empty
<empty <empty
four <four
<empty <four

This should be pretty straight-forward but I am totally

unaware of the
VB syntax. Thanks in advance,

Best regards
--Joachim




.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Automated cell copy depending on cell content?

On Wed, 19 Nov 2003 09:18:38 -0500, "Tom Ogilvy"
wrote:

for i = cells(rows.count,1).End(xlup).row+1, to 2 step -1
if not isempty(cells(i,1)) and isempty(cells(i+1)) and
isempty(cells(i-1,1) then
cells(i+1,1).Value = cells(i,1).Value
end if
Next


Thank you, some minor syntactiv corrections are required:
Sub ConditionalDuplicateCell()
For i = Cells(Rows.Count, 1).End(xlUp).Row + 1 To 2 Step -1
If Not IsEmpty(Cells(i, 1)) And IsEmpty(Cells(i + 1, 1)) And
IsEmpty(Cells(i - 1, 1)) Then
Cells(i + 1, 1).Value = Cells(i, 1).Value
End If
Next
End Sub

Luckily the Microsoft VB-Debugger is quite comfortable to use. ;)
The code does exactly what it is supposed to do for (the hard-coded)
column 1. Any hint how I can determine the selected column (and warn
if the user has selected more than one column)?

Many thanks again,
--Joachim







Regards,
Tom Ogilvy


"Joachim Fabini" wrote in message
.. .
Hi,

Specifically, I'm looking for a macro that does the following:

For a selected column
For any cell in this column
if (the current cell is not empty) and
(the cell above the current cell is empty) and
(the cell below the current cell is empty)
then
copy the content of the current cell into the cell below
(alternatively, into the cell at the right).

The column A below should become column B after applying the macro.

Col. A Col.B
<empty <empty
<empty <empty
one one
<empty one
<empty <empty
<empty <empty
two <two
three <three
<empty <empty
<empty <empty
four <four
<empty <four

This should be pretty straight-forward but I am totally unaware of the
VB syntax. Thanks in advance,

Best regards
--Joachim






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Automated cell copy depending on cell content?

I only saw one syntax/typo correction <g

Sub ConditionalDuplicateCell()
Dim icol as Long, i as long
if selection.Columns.Count 1 then
msgbox "Please only select 1 column"
exit sub
End if
icol = ActiveCell.Column
For i = Cells(Rows.Count, icol).End(xlUp).Row + 1 To 2 Step -1
If Not IsEmpty(Cells(i, icol)) And _
IsEmpty(Cells(i + 1, icol)) And _
IsEmpty(Cells(i - 1, icol)) Then
Cells(i + 1, icol).Value = Cells(i, icol).Value
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"Joachim Fabini" wrote in message
...
On Wed, 19 Nov 2003 09:18:38 -0500, "Tom Ogilvy"
wrote:

for i = cells(rows.count,1).End(xlup).row+1, to 2 step -1
if not isempty(cells(i,1)) and isempty(cells(i+1)) and
isempty(cells(i-1,1) then
cells(i+1,1).Value = cells(i,1).Value
end if
Next


Thank you, some minor syntactiv corrections are required:
Sub ConditionalDuplicateCell()
For i = Cells(Rows.Count, 1).End(xlUp).Row + 1 To 2 Step -1
If Not IsEmpty(Cells(i, 1)) And IsEmpty(Cells(i + 1, 1)) And
IsEmpty(Cells(i - 1, 1)) Then
Cells(i + 1, 1).Value = Cells(i, 1).Value
End If
Next
End Sub

Luckily the Microsoft VB-Debugger is quite comfortable to use. ;)
The code does exactly what it is supposed to do for (the hard-coded)
column 1. Any hint how I can determine the selected column (and warn
if the user has selected more than one column)?

Many thanks again,
--Joachim







Regards,
Tom Ogilvy


"Joachim Fabini" wrote in message
.. .
Hi,

Specifically, I'm looking for a macro that does the following:

For a selected column
For any cell in this column
if (the current cell is not empty) and
(the cell above the current cell is empty) and
(the cell below the current cell is empty)
then
copy the content of the current cell into the cell below
(alternatively, into the cell at the right).

The column A below should become column B after applying the macro.

Col. A Col.B
<empty <empty
<empty <empty
one one
<empty one
<empty <empty
<empty <empty
two <two
three <three
<empty <empty
<empty <empty
four <four
<empty <four

This should be pretty straight-forward but I am totally unaware of the
VB syntax. Thanks in advance,

Best regards
--Joachim










  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Automated cell copy depending on cell content?

On Wed, 19 Nov 2003 11:55:27 -0500, "Tom Ogilvy"
wrote:

I only saw one syntax/typo correction <g


Agreed. The second one was no typo but without a minor change it did
not do what I wanted it to... ;) Both are obvious if you're used to
the language syntax but somehow difficult to find if you never-ever
touched a line of VB before.


Sub ConditionalDuplicateCell()
Dim icol as Long, i as long
if selection.Columns.Count 1 then
msgbox "Please only select 1 column"
exit sub
End if
icol = ActiveCell.Column
For i = Cells(Rows.Count, icol).End(xlUp).Row + 1 To 2 Step -1
If Not IsEmpty(Cells(i, icol)) And _
IsEmpty(Cells(i + 1, icol)) And _
IsEmpty(Cells(i - 1, icol)) Then
Cells(i + 1, icol).Value = Cells(i, icol).Value
End If
Next
End Sub


Excellent, many thanks again and again!

Regards
--Joachim

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
How do I copy a row depending on the content of a cell in the row Robert59 Excel Worksheet Functions 2 October 19th 07 06:26 PM
Sum data, depending on cell content Mik Excel Worksheet Functions 6 October 18th 07 04:30 PM
how do i change cell background colour depending on its content? demble Excel Discussion (Misc queries) 2 May 2nd 07 05:50 PM
Copy content of cell to another depending on value of third cell(between worksheets) Zeljko Milak Excel Worksheet Functions 2 July 14th 06 07:17 PM
autowrite a cell depending on another cell's content jose carreno Excel Programming 2 October 1st 03 05:50 PM


All times are GMT +1. The time now is 04:56 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"