- 締切済み
エクセル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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ja7awu
- ベストアンサー率62% (292/464)
お礼
ありがとうございます。 コード全部は文字数がオーバーして記述できませんでした。すみません。。 参考にさせていただきます。 ありがとうございました。