The OP does not state if the objects in question are ActiveX
or Form Control
objects.
To handle both object types, and if the objects names are not ComboBox*
, try this
Sub Demo()
Dim ws As Worksheet
Dim shp As Shape
Dim cb As ComboBox
Set ws = ActiveSheet
For Each shp In ws.Shapes
With shp
Select Case .Type
Case msoFormControl
If .FormControlType = xlDropDown Then
If .ControlFormat.Value = 0 Then
MsgBox .Name & " = "
Else
MsgBox .Name & " = " & .ControlFormat.List(.ControlFormat.Value)
End If
End If
Case msoOLEControlObject
If .OLEFormat.progID = "Forms.ComboBox.1" Then
Set cb = .OLEFormat.Object.Object
MsgBox cb.Name & " = " & cb.Value
End If
End Select
End With
Next
End Sub