Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
jon jon is offline
external usenet poster
 
Posts: 13
Default Help with Code from John Mansfield

Fantastic !

Thank you for your patience and help, much appreciated.

Jon

"JLatham" <HelpFrom @ Jlathamsite.com.(removethis) wrote in message
...
YOU should be able to modify the code easily enough. The problem is that
the
original code is looking only for cells with formulas in them and when it
doesn't find any, you get the error and no SET is performed.

Just remove the .SpecialCells(xlCellTypeFormulas) portion of all of the
Set
statements. That will have the cellRange set to the entire range
regardless
of the cell's contents, formulas or values only. The code that I provided
already takes into consideration whether a cell is empty or not, and if
not
whether the displayed result is numeric and creates the Round() formula
properly in either case.

If you want 2 decimal places, change the ",0)" portion of the formulas
created to ",2)". You may want to try these changes on a copy of your
workbook to make sure the results are as you want them.

Hope this helps some.


"jon" wrote:

Your exactly right.

Thats what my problem is in my original post, the cells dont contain
formulas just absolute values i.e. numbers.

But I need to change values such as 25.456815245 to 25.60 etc.

Is there a way of doing this ?

BTW, thanks for your help

Jon



"JLatham" <HelpFrom @ Jlathamsite.com.(removethis) wrote in message
...
Which line of code is giving you the error (when the error occurs,
choose
[Debug] and note which line is highlighted). I suspect it is one of
the
If PAGENO = # Then Set cellRange =...
statements. That would simply mean that there weren't cells with
formulas
in the group - perhaps only values. And that's probably why the On
Error
Resume Next was put into the code to begin with - to deal with ranges
that
might not have formulas.

"jon" wrote:

Hi,


I actually changed the variation slightly, but I get an error (No
cells
found), but only if I comment out the on error resume next line.

There are values in every field.

Here is my code

Sub Add_Rounding()

Dim cellRange As Range
Dim Rng As Range
Dim cellFormula As String
Dim PAGENO As Integer

'On Error Resume Next


PAGENO = 0
START:
PAGENO = PAGENO + 1
If PAGENO = 14 Then GoTo FINISH
If PAGENO = 1 Then Set cellRange =
Range("E7:W52").SpecialCells(xlCellTypeFormulas)
If PAGENO = 2 Then Set cellRange =
Range("E66:W110").SpecialCells(xlCellTypeFormulas)
If PAGENO = 3 Then Set cellRange =
Range("E130:G143").SpecialCells(xlCellTypeFormulas )
If PAGENO = 4 Then Set cellRange =
Range("E146:G165").SpecialCells(xlCellTypeFormulas )
If PAGENO = 5 Then Set cellRange =
Range("E168:G187").SpecialCells(xlCellTypeFormulas )
If PAGENO = 6 Then Set cellRange =
Range("O124:Q143").SpecialCells(xlCellTypeFormulas )
If PAGENO = 7 Then Set cellRange =
Range("O146:Q165").SpecialCells(xlCellTypeFormulas )
If PAGENO = 8 Then Set cellRange =
Range("O168:Q187").SpecialCells(xlCellTypeFormulas )
If PAGENO = 9 Then Set cellRange =
Range("E196:G215").SpecialCells(xlCellTypeFormulas )
If PAGENO = 10 Then Set cellRange =
Range("E218:G237").SpecialCells(xlCellTypeFormulas )
If PAGENO = 11 Then Set cellRange =
Range("O197:Q215").SpecialCells(xlCellTypeFormulas )
If PAGENO = 12 Then Set cellRange =
Range("E248:Q256").SpecialCells(xlCellTypeFormulas )
If PAGENO = 13 Then Set cellRange =
Range("E262:Q270").SpecialCells(xlCellTypeFormulas )


For Each Rng In cellRange
If Not IsEmpty(Rng) Then
If IsNumeric(Rng) Then
If Rng.HasFormula Then
cellFormula = Mid(Rng.Formula, _
2, 1024)
If InStr(UCase(cellFormula), _
UCase("Round")) = 0 Then
Rng.Formula = "=Round(" _
& cellFormula & ",0)"
End If
Else
Rng.Formula = _
"=Round(" & Rng.Value & ",0)"
End If
End If
End If
Next


GoTo START
FINISH:
End Sub

Can you help ?

Jon


"JLatham" <HelpFrom @ Jlathamsite.com.(removethis) wrote in message
...
Try this variation:

Sub NewRounding()
Dim cellRange As Range
Dim Rng As Range
Dim cellFormula As String

Set cellRange = Range("A1:C10")
For Each Rng In cellRange
If Not IsEmpty(Rng) Then
If IsNumeric(Rng) Then
If Rng.HasFormula Then
cellFormula = Mid(Rng.Formula, _
2, 1024)
If InStr(UCase(cellFormula), _
UCase("Round")) = 0 Then
Rng.Formula = "=Round(" _
& cellFormula & ",0)"
End If
Else
Rng.Formula = _
"=Round(" & Rng.Value & ",0)"
End If
End If
End If
Next
End Sub


"jon" wrote:

Hi,
In an earlier post John provided me with a macro to round the
values
in a
selected cell range.
The code was:
Sub Add_Rounding()

Dim cellRange As Range
Dim Rng As Range
Dim cellFormula As String

On Error Resume Next

Set cellRange =
Range("A1:C10").SpecialCells(xlCellTypeFormulas)

For Each Rng In cellRange

cellFormula = Mid(Rng.Formula, 2, 1024)
If InStr(UCase(cellFormula), UCase("Round")) = 0 Then
Rng.Formula = "=round(" & cellFormula & ",0)"
End If

Next Rng

End Sub

Unfortunately, some of my worksheets have fixed values not
calculated
values
in the fields, and the macro doesn't amend any cell that doesn't
begin
with
an = sign.

Can anyone tell me how to make it work for fixed values.

Thanks

Jon







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
Changing text case in entire database column from JOHN to John Kimberly in Palm Springs Excel Discussion (Misc queries) 2 October 10th 06 06:26 PM
Change Smith, John to John Smith Levi Excel Discussion (Misc queries) 4 May 3rd 06 03:53 PM
I am trying to change Smith, John to John Smith Levi Excel Discussion (Misc queries) 3 May 1st 06 11:55 PM
How do I change "Doe, John" to "John Doe" in Excel? Moon Excel Discussion (Misc queries) 3 November 10th 05 03:34 PM
how to format Doe,John to Doe, John (space after a comma) asuncionw Excel Worksheet Functions 8 November 4th 05 01:56 PM


All times are GMT +1. The time now is 12:35 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"