"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Actually fanpages' and my modifications above only work for vertically oriented merged ranges. The following works for any size merged range. Note that a #VALUE! error will occur if you try to get the "end" value for a NON-merged range.

My code works with a single cell (one column/one row), a merged range on one row (i.e. multiple columns), a merged range in one column (i.e. multiple rows), or a merged range on multiple rows & multiple columns.

My code works with a single cell (one column/one row), a merged range on one row (i.e. multiple columns), a merged range in one column (i.e. multiple rows), or a merged range on multiple rows & multiple columns.

Your code gives only the rows. That may be what the user wants, but it's not clear to me that it is.