0

コンボボックスをシートに追加すると、.locked プロパティに問題が発生します。私は次のコードを使用しています:

    Set cBox = Sheet1.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
        With cBox
            .Left = Sheet1.Range("N" & i).Left
            .Top = Sheet1.Range("N" & i).Top
            .Width = Sheet1.Range("N" & i).Width
            .Height = Sheet1.Range("N" & i).Height
            .ListFillRange = "Sheet3!$A1:$A3"
            .Locked = False
        End With

デザイン モードに入ってボタンのプロパティを見ると、Locked が True のままであることがわかります。プロパティの編集方法に何か問題がありますか?

お時間をいただきありがとうございます。私は 86 個のコンボボックスを持っているので、手動でロックを解除するのは面倒です。

-アーロン

4

2 に答える 2

1

コードを単純にコピーして貼り付け、いくつかの変更を加えて、新しい空白のワークブックで機能するようにしました。

Option Explicit

Sub testCode()
    Dim cBox As Object
    Set cBox = Sheet1.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
        With cBox
            .Left = Sheet1.Range("N1").Left
            .Top = Sheet1.Range("N1").Top
            .width = Sheet1.Range("N1").width
            .height = Sheet1.Range("N1").height
            .ListFillRange = "Sheet3!$A1:$A3"
            .Locked = False
        End With
End Sub

上記のコードは私にとっては問題なく機能しました。開発者モードでは、ロックされたプロパティが false であると表示されます。
私はMicrosoft Excel 2007を使用しています。唯一の違いは、静的範囲を使用しただけで、正常に機能したことであるため、変数
に関係している可能性があります。サイジングによってロックされない原因がどのようになるかはわかりませんが。 iN1

私のコードを自分でコピーして貼り付けてみて、何が吐き出されるかを確認してください。

于 2013-08-21T16:26:24.140 に答える