If ctl.ControlType = acTextBox or ctl.ControlType = acLabel Then
The secret to using this kind of code without bombing is to make sure the property you're trying to set is avaiialable to the control type. In other words, you can use the above if you're setting the Visibility property, because both textboxes and labels have a Visibility property. But if you tried to use it to set the Lock property, it would bomb, because labels don't have a Lock property!
The code I provided would not necessarily bomb if the .Lock property was used. It would only bomb if a tag of G1 or G2 was on a non-lockable control. So, actually using tags CAN be easier to use as you can put them on certain controls and, as long as you know what has what, you don't need to qualify by part.