You can get real fancy like one of the posted links, or something less - which is what I threw together. The control style is set to none (no tab, no button) and a label (which you can colour) takes place of the tab and receives the click event. It takes 4 lines of code to switch back and forth for each label, which I guess means 4 more lines for each page also. This doesn't include any code for setting up the form on open. To simplify it further, I suppose a little function can receive two boolean values for my pages 4 and 5; which to hide and which to show, and reverse the visibility of the pieces. Something like Function ShowHide (pge4 as Boolean, pge5 as Boolean) and on label 4 click; ShowHide(False,True). If you don't want to use the page index, use the page name. On this little exercise, I found that I didn't have to write Me.tabCtl3.Pages("Page4"). It seemed to work ok with just Me.Page4.Visible = True or whatever. I also found that the page click event doesn't fire if all the page controls are disabled.
Another available trick is to use transparent labels over command buttons if you like the look of the button versus a label. One thing you can do with a label that I guess you can't with a button is give it a depressed look (kinda like some people I know!).
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.