>>517
だいたいそんな感じですね。
以下で行けました。(Dim文、略)
Control名いじるのが面倒なので、FrameにChkBox
つっこんで回しています。

iCnt = UserForm1.Frame1.Controls.Count - 1
ReDim ARR(iCnt)

i = -1
For Each vBuf In UserForm1.Frame1.Controls
  With vBuf
    If .Value = True Then
      i = i + 1
      ARR(i) = .Caption
    End If
  End With
Next

ActiveSheet.Range("範囲").AutoFilter _
  Field:=1, _
  Criteria1:=ARR, _
  Operator:=xlFilterValues