Based on Andy's response above I was able to re-purpose his code; goal being to pull old and new Control Names from a spreadsheet and update the Control Names in bulk. Posting in case anyone finds it useful.
I had old and new names stored in a spreadsheet called "x_Controls": the old Control.Name in Column 2 and the new Control.Name in Column 3 (loop starts on Line 2 as header was in Line 1). Incidentally TypeOf is stored in Column 1 so Andy's "If Statements" could be worked into the logic also if needed.
Code
Sub RenameControls() [INDENT]Dim vbpTemp As VBProject
Dim frmTemp As VBComponent
Dim cntTemp As MSForms.Control
Set vbpTemp = Application.VBE.ActiveVBProject
Set frmTemp = vbpTemp.VBComponents.Item("EditInvForm")[/INDENT]
[INDENT]
Dim source As Worksheet
Dim oldName As String, newName As String
Dim lRow As Long, i As Long, b As Long, g As Long
Set source = ActiveWorkbook.Worksheets("x_Controls")
b = 0
g = 0
'using saved function to get last row, might need to change to suit your needs
lRow = LastRow(source)
For i = 2 To lRow[/INDENT]
[INDENT=2]With source[/INDENT]
[INDENT=3]oldName = Cells(i, 2)
newName = Cells(i, 3)[/INDENT]
[INDENT=2]End With
On Error Resume Next[/INDENT]
[INDENT=3]Set cntTemp = frmTemp.Designer.Controls(oldName)
If Err.Num <> 0 Then[/INDENT]
[INDENT=4]b = b + 1
'Debug.Print "bad: " & oldName[/INDENT]
[INDENT=3]Else[/INDENT]
[INDENT=4]cntTemp.Name = newName
g = g + 1
'Debug.Print "good: " & oldName & " >>> " & newName[/INDENT]
[INDENT=3]End If[/INDENT]
[INDENT=2]On Error GoTo 0[/INDENT]
[INDENT]Next i[/INDENT]
[INDENT]
MsgBox b & " Control Names were Not updated | " & g & " Control Names were Successfully updated"[/INDENT]
End Sub
Display More
Updated a few hundred names with no problems!