Need help with rounding in VBA code

O

OzonedMan

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.
 
B

Bob Phillips

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)
 
D

Don Guillett

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
 
B

Barb Reinhardt

Try something like this

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

HTH,
Barb Reinhardt
 
G

gimme_this_gimme_that

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.
 

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