You might find it useful to use the 'tag' property of the controls here - because you can assign arbitrary string values to them - which should make it easier to write a single-purpose function.
For example, although the names of pages in a tab control don't change when you amend their order, it's easier to deal with them by some sort of friendly name, hidden from the user - and the tag property is exactly that.
So (based on Ken's example):
Dim ctlCurrentControl As Control
Set ctlCurrentControl = Screen.ActiveControl
MsgBox ctlCurrentControl.Tag