View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Further Help Req'd - Looping thru cells in named range

In an earlier thread, he said he is creating a linking formula, so he
doesn't need/shouldn't have the quotes on either side of rng.text. I made
the same wrong suggestion.

--
Regards,
Tom Ogilvy


"Alan Beban" wrote in message
...
The following seems to work:

Sub ConvToFormula()

Dim rng As Range

Worksheets("Imported Data").Select

'Define RangeName with cell references

ActiveWorkbook.Names.Add Name:="ConvToFormulaRange", RefersTo:= _
"='Imported Data'!$O$7,'Imported Data'!$Q$7," & _
"'Imported Data'!$R$7,'Imported Data'!$T$7," & _
"'Imported Data'!$U$7,'Imported Data'!$V$7,'Imported Data'!$W$7"

'Loop thru each cell of named range and convert current formula to text
'then
'to formula. Effectively Copy.PasteSpecial.Values then insert = at
'beginning.
For Each rng In Sheets("Imported Data").Range("ConvToFormulaRange")
Set rng = Range(rng.Address)
rng.Formula = "=" & """" & rng.Text & """"
Next

'Tidy up

Application.CutCopyMode = False
Set rng = Nothing

End Sub

Alan Beban

Michael Beckinsale wrote:
Hi All,

Earlier today l posted a query re looping thru cells in a named range. I
tested the answer posted and all seemed OK. However l have now writen

the
code within the workbook l need it in and it doesn't work.

The named range is created OK but it falls down when trying to loop thru
cells in the named range.

When the macro is run the messages l get when l hover over the rng

variable
is,

rng = Nothing
rng.Formula = <Object variable or With block variable not set
rng.Text = <Object variable or With block variable not set

Can anybody tell me whats wrong with the following code:

Sub ConvToFormula()

Dim rng As Range

Worksheets("Imported Data").Select

'Define RangeName with cell references

ActiveWorkbook.Names.Add Name:="ConvToFormulaRange", RefersTo:= _
"=Imported Data!$O$7," & _
"Imported Data!$Q$7," & _
"Imported Data!$R$7," & _
"Imported Data!$T$7," & _
"Imported Data!$U$7," & _
"Imported Data!$V$7," & _
"Imported Data!$W$7"

'Loop thru each cell of named range and convert current formula to text

then
'to formula. Effectively Copy.PasteSpecial.Values then insert = at
beginning.

For Each rng In Sheets("Imported Data").Range("ConvToFormulaRange")
rng.Formula = "=" & rng.Text
Next

'Tidy up

Application.CutCopyMode = False
Set rng = Nothing

End Sub

All help very much appreciated.

Regards