View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
deko[_2_] deko[_2_] is offline
external usenet poster
 
Posts: 53
Default How to fill range with formula using VBA?

I have code that creates new worksheets using automation. I need to fill a
range in each worksheet with a formula after it is created. What I
currently have looks like this:

With xlapp.Workbooks(strXlsFile).Worksheets(sn(i))
lc = .Range("A1").SpecialCells(xlCellTypeLastCell).Colu mn
lr = .Range("A1").SpecialCells(xlCellTypeLastCell).Row
.Cells(1).EntireRow.HorizontalAlignment = xlCenter
.Cells(1).EntireRow.Font.Bold = True
.Range("B2:B" & lr).Formula = "=AVERAGE(E2:AH2)"
End With

The problem is I don't know how many columns I'm going to have. So
"=AVERAGE(E2:AH2)" is just a guess - I could have more or less columns than
"AH". I have the value of the last column expressed as an integer in the
variable lc - but how do I use this? Is there a way to translate that value
to the corresponding letter value? The formula has to be a sting value to
fill down to the last column, correct?

This may be a simple question, but I have not worked with Excel to much...

Thanks.