Macro to round up (ceiling function)
Closed
Netscur
Posts
21
Registration date
Thursday July 23, 2009
Status
Member
Last seen
April 6, 2012
-
Aug 18, 2010 at 03:24 PM
Netscur Posts 21 Registration date Thursday July 23, 2009 Status Member Last seen April 6, 2012 - Aug 23, 2010 at 11:50 AM
Netscur Posts 21 Registration date Thursday July 23, 2009 Status Member Last seen April 6, 2012 - Aug 23, 2010 at 11:50 AM
Related:
- Macro to round up (ceiling function)
- Find function on mac - Guide
- Accessor function c++ - Guide
- Spreadsheet function - Guide
- Spell number in excel without macro - Guide
- Hard drive function - Guide
5 responses
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Aug 23, 2010 at 09:18 AM
Aug 23, 2010 at 09:18 AM
There is an inbuilt function called RoundUP in excel that you can use.
=ROUNDUP(RAND()*100,0)
You mentioned earlier that you want to "round up". But in sample data it looked like as being truely rounded . Presuming you want to "round up", you can also try this
=ROUNDUP(RAND()*100,0)
You mentioned earlier that you want to "round up". But in sample data it looked like as being truely rounded . Presuming you want to "round up", you can also try this
Sub RoundUp() Dim Cell As Range Dim lMaxRows As Long Dim iMaxCols As Integer Set Cell = Cells.Find("*", Cells(1, 1), SearchOrder:=xlByRows, SearchDirection:=xlPrevious) lMaxRows = Cell.Row If lMaxRows < 2 Then GoTo Exit_Sub Set Cell = Cells.Find("*", Cells(1, 1), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) iMaxCols = Cell.Column If iMaxCols < 2 Then GoTo Exit_Sub For Each Cell In Range(Cells(2, 2), Cells(lMaxRows, iMaxCols)) Cell.Value = CLng(Cell.Value + 0.49) Next Exit_Sub: Set Cell = Nothing End Sub
Netscur
Posts
21
Registration date
Thursday July 23, 2009
Status
Member
Last seen
April 6, 2012
Aug 19, 2010 at 07:27 AM
Aug 19, 2010 at 07:27 AM
I also could have been more specific about my raw data. Some but not all of it contains fractions (or decimal places).
Raw Data Example: 3.00011 which I want to be "rounded up" to be 4
Raw Data Example: 3.00011 which I want to be "rounded up" to be 4
rizvisa1
Posts
4478
Registration date
Thursday January 28, 2010
Status
Contributor
Last seen
May 5, 2022
766
Aug 20, 2010 at 09:25 AM
Aug 20, 2010 at 09:25 AM
Would you have value like 3.0 (decimal point) also or would it be 3 (no decimal point)
Netscur
Posts
21
Registration date
Thursday July 23, 2009
Status
Member
Last seen
April 6, 2012
Aug 23, 2010 at 08:43 AM
Aug 23, 2010 at 08:43 AM
It is possible in my original data to have a 3.0 as a number or value.
After the macro is run, ideally the Number Format won't matter as long as each piece of raw data is a complete integer.
This path is to a version of what I have so far:
https://authentification.site/files/23928300/Crosstab2tab_macro_workbook_-_shared.xlsm
Within the example,
1) Worksheet 1 ("Rawdata") is where a user can paste a forecast of values that are in a cross tabular format. Currently for testing purposes, the Rawdata worksheet is populated by random numbers.
2) Worksheet 2 ("Sheet2") is the output of the existing macro which transposes the format of cross tabular ("Rawdata") to tabular format.
After the macro is run, ideally the Number Format won't matter as long as each piece of raw data is a complete integer.
This path is to a version of what I have so far:
https://authentification.site/files/23928300/Crosstab2tab_macro_workbook_-_shared.xlsm
Within the example,
1) Worksheet 1 ("Rawdata") is where a user can paste a forecast of values that are in a cross tabular format. Currently for testing purposes, the Rawdata worksheet is populated by random numbers.
2) Worksheet 2 ("Sheet2") is the output of the existing macro which transposes the format of cross tabular ("Rawdata") to tabular format.
Didn't find the answer you are looking for?
Ask a question
Netscur
Posts
21
Registration date
Thursday July 23, 2009
Status
Member
Last seen
April 6, 2012
Aug 23, 2010 at 11:50 AM
Aug 23, 2010 at 11:50 AM
Thanks for your help again Rizvisa1!!! Your macro accomplished what I was hoping.
FYI: After some more trial & error, I wrote this and it seems to work well too
Sub Ceiling()
Range("B2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection = Application.Ceiling(Selection, 1)
End Sub
'Basically it selects all the cells from $b:$2 to end of worksheet. Then it applies the 'ceiling' function to what was selected.
FYI: After some more trial & error, I wrote this and it seems to work well too
Sub Ceiling()
Range("B2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection = Application.Ceiling(Selection, 1)
End Sub
'Basically it selects all the cells from $b:$2 to end of worksheet. Then it applies the 'ceiling' function to what was selected.