Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default Formula using VBA

Hello all

I have a problem with one formula..I want to create a formula into one cell.
However i would like to be recalculated when i change the data (last row of
the data is different every time)

Sub rate_click()
Range("J4").Select
With ActiveCell
Set lastrow =
Worksheets("Pricing").Cells(Worksheets("Pricing"). Rows.Count,
"A").End(xlUp).Row
.Formula = Sum(Range("J19" & lastrow)) / Sum(Range("C19" & lastrow))
Range("J4").Select
End With

End Sub

it does not recognise the function sum!!

Can you please help me why this macro does not work.

Thanks in advance

Regards
angeliki


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Formula using VBA

Angeliki schrieb am 24.10.2003 11:11:
Hello all

I have a problem with one formula..I want to create a formula into one cell.
However i would like to be recalculated when i change the data (last row of
the data is different every time)

Sub rate_click()
Range("J4").Select
With ActiveCell
Set lastrow =
Worksheets("Pricing").Cells(Worksheets("Pricing"). Rows.Count,
"A").End(xlUp).Row
.Formula = Sum(Range("J19" & lastrow)) / Sum(Range("C19" & lastrow))
Range("J4").Select
End With

End Sub

it does not recognise the function sum!!

Can you please help me why this macro does not work.

Thanks in advance

Regards
angeliki



If you want to use a formula from a sheet in VB, you should use
"Application." in front of the formula, e g.
Application.Sum(Range("J19:J26"))

When putting a formula into a cell, you use e. g.
ActiveCell.Formula = "=sum(J19:J26)"
what works fine with me ;-)

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default Formula using VBA

Werner thanks for your immediate reply
I add in front of the formula (application) and

if i specified the range e.g (J19:J36) it works for me too. But i would like
to sum from J19 up to lastrow which i define as

Set lastrow
=Worksheets("Pricing").Cells(Worksheets("Pricing") .Rows.Count,"A").End(xlUp)
..Row
Do you recognise any mistake in my code?

Thanks in advance
Angeliki

"Werner Flamme" wrote in message
...
Angeliki schrieb am 24.10.2003 11:11:
Hello all

I have a problem with one formula..I want to create a formula into one

cell.
However i would like to be recalculated when i change the data (last row

of
the data is different every time)

Sub rate_click()
Range("J4").Select
With ActiveCell
Set lastrow =
Worksheets("Pricing").Cells(Worksheets("Pricing"). Rows.Count,
"A").End(xlUp).Row
.Formula = Sum(Range("J19" & lastrow)) / Sum(Range("C19" & lastrow))
Range("J4").Select
End With

End Sub

it does not recognise the function sum!!

Can you please help me why this macro does not work.

Thanks in advance

Regards
angeliki



If you want to use a formula from a sheet in VB, you should use
"Application." in front of the formula, e g.
Application.Sum(Range("J19:J26"))

When putting a formula into a cell, you use e. g.
ActiveCell.Formula = "=sum(J19:J26)"
what works fine with me ;-)



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,327
Default Formula using VBA

"Angeliki" wrote in message
...
Set lastrow
=Worksheets("Pricing").Cells(Worksheets("Pricing") .Rows.Count,"A").End(xlUp).Row
Do you recognise any mistake in my code?


That would return the last cell in A column. Try J:

=Worksheets("Pricing").Cells(Worksheets("Pricing") .Rows.Count,"J").End(xlUp).Row

or preferrably the simpler

=Worksheets("Pricing").Cells(65536, "J").End(xlUp).Row

--
HTH. Best wishes Harald
Followup to newsgroup only please.


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Formula using VBA

Or the more flexible:

Worksheets("Pricing").Cells(Rows.Count,"J").End(xl Up).Row

As long as a worksheet will be active. (all worksheets have the same number
or rows). More flexible because it will work with xl95 and earlier as well
(which may not be a consideration).

or

With Worksheets("Pricing")
lastRow = .Cells(.Rows.count,10).End(xlup).Row
End With

--
Regards,
Tom Ogilvy

"Harald Staff" wrote in message
...
"Angeliki" wrote in message
...
Set lastrow

=Worksheets("Pricing").Cells(Worksheets("Pricing") .Rows.Count,"A").End(xlUp)
..Row
Do you recognise any mistake in my code?


That would return the last cell in A column. Try J:


=Worksheets("Pricing").Cells(Worksheets("Pricing") .Rows.Count,"J").End(xlUp)
..Row

or preferrably the simpler

=Worksheets("Pricing").Cells(65536, "J").End(xlUp).Row

--
HTH. Best wishes Harald
Followup to newsgroup only please.






  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,327
Default Formula using VBA

"Tom Ogilvy" skrev i melding
...
Or the more flexible:

Worksheets("Pricing").Cells(Rows.Count,"J").End(xl Up).Row

As long as a worksheet will be active. (all worksheets have the same

number
or rows). More flexible because it will work with xl95 and earlier as

well
(which may not be a consideration).


Right, of course, sorry. The 60k limit is spoiling me.

Best wishes Harald
Followup to newsgroup only please


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
Commenting custom formula fields/formula on formula editor Muxer Excel Programming 2 July 24th 03 01:02 AM


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

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

About Us

"It's about Microsoft Excel"