I used the evaluate function below to replace the commented out loop portion for better performance in rounding off all the cells in a range. It was certainly fast and it performed the round function correctly but it also replaced every single cell in the range with the value of the first cell (ok you can laugh now). Any idea what is wrong with it? Kind of hard to debug a single line of code. With Sheets(RawData) Set tmprange = .Range(.Cells(2, 3), .Cells(stoprawdata, 7)) tmprange.Value = .Evaluate("round(" & tmprange.Address & ",2)") 'use evaluate instead of code below ' For Each onecell In tmprange ' onecell.Value = WorksheetFunction.Round(onecell, 2) ' Next onecell End With
-- FORUM RULES (986+ members already BANNED for violation) 1) Use concise, accurate thread titles. Poor thread titles, like Please Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get quick attention or may not be answered. 2) Don't post a question in the thread of another member. 3) Don't post questions regarding breaking or bypassing any security measure. 4) Acknowledge the responses you receive, good or bad. 5) Cross-promotion of, or links to, forums competitive to this forum in signatures are prohibited. NOTE : Don't ever post personal or confidential data in a workbook. Forum owners and members are not responsible for any loss. ------------------------------------------------------------------------------------------------------ To post to this group, send email to excel-macros@googlegroups.com