smart89,
You are correct in that dgillz code will only work if a print area is already set; otherwise, an empty string is returned.
I don't know of any reasonable way to find the internal print area Excel uses if one is not explicitly set (i.e., what you see in Print Preview mode). If your data starts in, say, column M and you do a print preview, you will find that Excel includes all the blank columns before this in its print area (and, as you indicated, the UsedRange will be different, beginning in column M, not column A). The real problem is that Excel will also adjust its internal print area if text in a cell runs into adjacent cells that are beyond the width of a page, adding another page automatically and effectively breaking the text over pages. I don't know how you can account for that easily using code. It can probably be accomplished, but is it worth it? [Chip Pearson, Microsoft MVP, has some code on his website that gets into the nitty-gritty of screen and cell metrics to position a Userform at a particular cell. You would probably need similar calculations, including font size metrics to determine how many columns wide the internal print area is. Not a trivial task]
Regards,
Mike