![]() |
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. |
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. |
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. |
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. |
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