

一枚のシートに動的に複数のコンボボックスとコマンドボタンを生成しようとしています。
標準モジュールのループでコントロールを生成していますが、一周は上手く回るのですが、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
No.1ベストアンサー
- 回答日時:
先頭部分を省いていますが、全体でないと調べにくいでぇ~す。
たぶん、これでいいと思いますが・・・・
Set objWs = clsExcel.ActiveSheet にした方がいいかと思います。
変数 k と strData は、何処で設定しているか解らないので取り敢えず
仮に k = 1 , strData = "積" としてテストしています。
Sub tariran()
Dim clsExcel As Workbook
Dim objWs As Worksheet
Dim cmbPos As Range
Dim m_objOLE_C As Object
Dim objcmb As Object
Dim strData As String
Dim j As Integer
Dim k As Integer
Set clsExcel = ThisWorkbook
Set objWs = clsExcel.ActiveSheet
With objWs
'コンボボックスの位置を指定
k = 1 '<---------------------------仮設定
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
Set objcmb = objWs.OLEObjects(m_objOLE_C.Name).Object
objcmb.Locked = False
With objcmb
'--コンボボックスに初期値をセット
.AddItem "計", 0
.AddItem "推", 1
.AddItem "確", 2
.AddItem "積", 3
strData = "積" ' <---------------仮設定
For j = 0 To 3
If strData = .List(j) Then
.ListIndex = j '<-----ここでおちる
Exit For
End If
Next j
End With
Set clsExcel = Nothing
Set objWs = Nothing
Set cmbPos = Nothing
Set objcmb = Nothing
Set m_objOLE_C = Nothing
End Sub
ありがとうございます。
コード全部は文字数がオーバーして記述できませんでした。すみません。。
参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0.1は10パーセントなら1.0は何...
-
数学Aです。大中小3個のさいこ...
-
1から9までの番号をつけた9枚の...
-
ひし形の対角線はどれでも直角...
-
積2桁の自然数のうち、各位の数...
-
D_4の乗積表の作り方って?
-
積の微分法と合成関数の微分法...
-
大,中,小3個のさいころを投げ...
-
高1です!次の問題を分かりやす...
-
デルタ関数について
-
断面積比
-
数列1.2.3.....nにおいて、n≧2...
-
数学の問題です 正の約数が28個...
-
周の長さは同じなのに面積が違...
-
結合律とは
-
連立方程式の解き方について
-
測量図で、周囲の長さを算出す...
-
周囲の長さが一定の二等辺三角...
-
黄色で囲んだ数は何を表してい...
-
ひし形の縦横の長さの求め方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数学Aです。大中小3個のさいこ...
-
大小2つのサイコロを投げる時...
-
高1です!次の問題を分かりやす...
-
積2桁の自然数のうち、各位の数...
-
大,中,小3個のさいころを投げ...
-
1から9までの番号をつけた9枚の...
-
0.1は10パーセントなら1.0は何...
-
周の長さは同じなのに面積が違...
-
積の回文となる2桁の数の積は...
-
エナメル線の電流容量 教えて...
-
nを奇数とするとき、n^2-1は8...
-
「和と積がともに3である2数」...
-
測量図で、周囲の長さを算出す...
-
割り算の答えは商、かけ算の答は?
-
因数分解
-
周囲の長さが一定の二等辺三角...
-
数列1.2.3.....nにおいて、n≧2...
-
高校数学です。0は全ての整数...
-
40秒は何分?の計算式を教え...
-
転置行列 証明
おすすめ情報