エクセルVBAで動的にコンボボックスを作成
一枚のシートに動的に複数のコンボボックスとコマンドボタンを生成しようとしています。
標準モジュールのループでコントロールを生成していますが、一周は上手く回るのですが、2週目から
コンボボックス作成MakeComboの中のここでおちると記載している部分でエクセルのアプリケーションエラーに
なってしまい、エクセルが落ちてしまいます。
With clsExcel.objWs
'コンボボックスの位置を指定
Dim cmbPos As Range
Set cmbPos = .Range(.Cells(k, 4), .Cells(k, 4))
'コンボボックスを作成
Set m_objOLE_C = .OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False,DisplayAsIcon:=False, _
Left:=cmbPos.Left, Top:=cmbPos.Top, Width:=63, Height:=15)
End With
Dim objCmb As ComboBox
Set objCmb = clsExcel.objWs.OLEObjects(m_objOLE_C.name).Object
objCmb.Locked = False
With objCmb
'--コンボボックスに初期値をセット
.AddItem "計", 0
.AddItem "推", 1
.AddItem "確", 2
.AddItem "積", 3
'--------------------------------------------
' For j = 0 To 3
' If strData = .List(j) Then
' .ListIndex = j '<-----ここでおちる
' Exit For
' End If
' Next j
'--------------------------------------------
End With
Set cmbPos = Nothing
Set objCmb = Nothing
Set m_objOLE_C = Nothing
End Sub
お礼
回答ありがとうございます。 プロパティを変えてみたところ、上手く行きました! ありがとうございました^^