Hi, Warren. Thanks for the reply. I think you may have missed my point. I've been using Excel since it first came out (and Lotus 1-2-3 before that, remember that one?), and it's incredibly rare that I've needed to hide rows and/or columns when freezing panes. I don't understand why the two independent functions are connected into one.
In Excel, if I want to freeze panes I just click in the top-left cell of the scrolling pane, C5 for instance, and choose freeze panes. That's the default behavior. I can then hide some rows or columns if I want, but I don't have to. What I would like is for your product to mimic that default behavior, so I could code sheet.FreezePanes("C5") instead of having to code sheet.FreezePanes("C5",4,2). The latter forces me to count how many rows and columns are above and to the left of cell C5. Granted, I could code sheet.FreezePanes("C5",9999,9999), but that's awfully sloppy.
Warren:The third and fourth param is not needed only when the start cell is "B2".
I've looked at the overload list for the FreezePanes method and it doesn't look like the 3rd and 4th parameters are optional. Are you saying they are?