ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Need help with rounding in VBA code (https://www.excelbanter.com/excel-programming/395958-need-help-rounding-vba-code.html)

OzonedMan

Need help with rounding in VBA code
 
When I try to break a value into 3 equal parts

ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[1]C/3"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=(R[2]C-R[1]C)/2"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[3]C-(R[2]C+R[1]C)"

it works fine, but how can I Round each new amount to 2 decimals for
currency?
I have some with 8 or 10 #'s after the decimal, not what I want.
kind of like
ActiveCell.FormulaR1C1 = Round("=R[1]C/3",2)
but I know that won't work.


Bob Phillips

Need help with rounding in VBA code
 
With ActiveCell
.Offset(-1, 0).Range("A1").FormulaR1C1 = "=ROUND(R[1]C/3,2)"
.Offset(-1, 0).Range("A1").FormulaR1C1 = "=ROUND((R[2]C-R[1]C)/2,2)"
.Offset(-1, 0).Range("A1").FormulaR1C1 =
"=ROUND(R[3]C-(R[2]C+R[1]C),2)"
End With


--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"OzonedMan" wrote in message
...
When I try to break a value into 3 equal parts

ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[1]C/3"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=(R[2]C-R[1]C)/2"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[3]C-(R[2]C+R[1]C)"

it works fine, but how can I Round each new amount to 2 decimals for
currency?
I have some with 8 or 10 #'s after the decimal, not what I want.
kind of like
ActiveCell.FormulaR1C1 = Round("=R[1]C/3",2)
but I know that won't work.




Don Guillett

Need help with rounding in VBA code
 
Does this help

Sub doformulas()
With ActiveCell
.Offset(-1).FormulaR1C1 = "=round(R[1]C/3,2)"
.Offset(-2).FormulaR1C1 = "=round((R[2]C-R[1]C)/2,2)"
.Offset(-3).FormulaR1C1 = "=round(R[3]C-(R[2]C+R[1]C),2)"
End With
End Sub

--
Don Guillett
Microsoft MVP Excel
SalesAid Software

"OzonedMan" wrote in message
...
When I try to break a value into 3 equal parts

ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[1]C/3"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=(R[2]C-R[1]C)/2"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[3]C-(R[2]C+R[1]C)"

it works fine, but how can I Round each new amount to 2 decimals for
currency?
I have some with 8 or 10 #'s after the decimal, not what I want.
kind of like
ActiveCell.FormulaR1C1 = Round("=R[1]C/3",2)
but I know that won't work.



Barb Reinhardt

Need help with rounding in VBA code
 
Try something like this

activecell.formulaR1C1="=ROUND(R[1]C/3,2)"

HTH,
Barb Reinhardt

"OzonedMan" wrote:

When I try to break a value into 3 equal parts

ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[1]C/3"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=(R[2]C-R[1]C)/2"
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=R[3]C-(R[2]C+R[1]C)"

it works fine, but how can I Round each new amount to 2 decimals for
currency?
I have some with 8 or 10 #'s after the decimal, not what I want.
kind of like
ActiveCell.FormulaR1C1 = Round("=R[1]C/3",2)
but I know that won't work.



[email protected][_2_]

Need help with rounding in VBA code
 
If you need a VBA solution google VBRound on this newsgroup. You'll
need to do that thing where you multiply by one hundred on the VBRound
argument and divide by one hundred on the VBRound result.



All times are GMT +1. The time now is 08:21 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com