Vba 通过对象赋值

Vba 通过对象赋值,vba,excel,Vba,Excel,我正试图通过.OLEobjects为选项按钮赋值,但我不知道该怎么做。这是我得到的 with sheets.1 For Each cOBtn In .OLEObjects posInstr = InStr(cOBtn.Name, "oBtn") If posInstr > 0 Then cOBtn.Value = True End If

我正试图通过.OLEobjects为选项按钮赋值,但我不知道该怎么做。这是我得到的

     with sheets.1
       For Each cOBtn In .OLEObjects
           posInstr = InStr(cOBtn.Name, "oBtn")
              If posInstr > 0 Then
                  cOBtn.Value = True
              End If
        Next
     end with
显然,价值不起作用。。我应该在这里放什么?

用这个

cOBtn.Object.Value = True

您是否有其他名称中带有“oBtn”的activex控件西德哈特路6分钟前


是的,很多;同样的代码(我的代码)在我5分钟前输入例如.interior.Color而不是.value时也能很好地工作

在这种情况下,请确保您实际使用的是选项按钮,而不是其他按钮:)


取决于对象是什么。。。试试看。标题|。Text@AlexK. 这是一个单选按钮,我试图给它赋值=TrueType不匹配。你确定它是一个对象吗?因为上面的代码是经过尝试和测试的。它是一个窗体控件还是ActiveX控件?呃,不完全是,但我想是的。这是一个activeX控件你有没有其他activeX控件的名称中有“oBtn”字样?是的,很多;同样的代码(我的)在我使用例如.interior.Color而不是.value时工作得非常好
Sub Sample()
    With Sheet1
        For Each cOBtn In .OLEObjects
            posInstr = InStr(1, cOBtn.Name, "oBtn", vbTextCompare)

            If posInstr > 0 Then
                If TypeName(cOBtn.Object) = "OptionButton" Then
                    cOBtn.Object.Value = True
                End If
            End If
        Next
    End With
End Sub