ClearContents method on a passed range

B

bryan

I want to create a range of results in one worksheet based on a range
of input values in another worksheet in the same workbook. I've
'named' the input and result ranges in Excel but am unable to clear
the result range using the following code called from Excel with
'=Test1(results)' speciified in a cell:

Public Function Test1(RangeResult As Range)

RangeResult.ClearContents

End Function

The code runs o.k. but the range isn't cleared and zero is returned. I
thought I was getting the hang of VBA but this has stumped me.
 
H

Harlan Grove

bryan wrote...
I want to create a range of results in one worksheet based on a range
of input values in another worksheet in the same workbook. I've
'named' the input and result ranges in Excel but am unable to clear
the result range using the following code called from Excel with
'=Test1(results)' speciified in a cell:

Public Function Test1(RangeResult As Range)

RangeResult.ClearContents

End Function

The code runs o.k. but the range isn't cleared and zero is returned. I
thought I was getting the hang of VBA but this has stumped me.

This isn't well documented, but VBA procedures called from worksheet
formulas can't change anything in the Excel environment.

When do you want to clear the results range? Why do you need to clear
the results range rather than write formulas in it which could display
nothing (so appear cleared) when there's no corresponding inputs?
 
B

bryan

Harlan said:
This isn't well documented, but VBA procedures called from worksheet
formulas can't change anything in the Excel environment.

When do you want to clear the results range? Why do you need to clear
the results range rather than write formulas in it which could display
nothing (so appear cleared) when there's no corresponding inputs?

Thanks for replying.

The result range is a subset of the input range selected randomly. In
randomly selecting from the input rage, I wanted to avoid duplicates by
scanning the entries already selected. To make sure that the result
range is initially empty, I wanted to clear it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top