Round is a VBA function, so you can look it up online to find more details if you wish.

You supply that function with an expression (the value that you want to round). In shark_'s example, that expression is w + 0.5.

You can also (optionally) specify the number of decimal places to be used when rounding. In the example given, that is 0 (no decimal places).

The function "returns" the result of rounding the value of the expression to the specified number of decimal places.

If you wanted to use the value of w, but rounded up to the next integer using shark_'s approach, where you now have w in your code, you would instead have Round(w + 0.5, 0).

The Round function uses something called "banker's rounding", which is different from the way that many of us were taught in school to round numbers. The addition of 0.5 has been added to get it to always "round up".

For use in my many macros, I have my own rounding function that does the rounding the way that I was taught in school, rather than following "banker's rounding" rules.

I also have my own "round up" function that rounds up to a specified number of decimal places: