![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?e8efa67)
一枚のシートに動的に複数のコンボボックスとコマンドボタンを生成しようとしています。
標準モジュールのループでコントロールを生成していますが、一周は上手く回るのですが、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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
エクセルVBA フォームへ動的に貼り付けたボタンのクリックイベントを検知する方法を教えてください
Excel(エクセル)
-
-
4
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
【vb2005】 動的に作成されたComboBoxをイベントハンドラへ関連づけする際の問題
Visual Basic(VBA)
-
7
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
8
Inputboxの表示位置(VBA)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大,中,小3個のさいころを投げ...
-
1から9までの番号をつけた9枚の...
-
数学Aです。大中小3個のさいこ...
-
大小2つのサイコロを投げる時...
-
0.1は10パーセントなら1.0は何...
-
2数の積の最小、最大の数を出す...
-
フーリエ変換 合成積の問題 考...
-
算数の和・差・積
-
72の約数はいくつあるか?
-
複素数αのn乗根がn個あることの...
-
正則行列×正則行列は正則になり...
-
上三角行列同士をかけたときの...
-
対称群の交換子群
-
等比数列をなす3つの数があっ...
-
(1×1)行列の逆行列って??
-
積の微分法と合成関数の微分法...
-
数学A
-
数学I 下図の平行四辺形ABCDはA...
-
行列の二項定理???
-
もとにする量、比べられる量
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1から9までの番号をつけた9枚の...
-
大,中,小3個のさいころを投げ...
-
0.1は10パーセントなら1.0は何...
-
大小2つのサイコロを投げる時...
-
数学Aです。大中小3個のさいこ...
-
高1です!次の問題を分かりやす...
-
40秒は何分?の計算式を教え...
-
数列1.2.3.....nにおいて、n≧2...
-
周の長さは同じなのに面積が違...
-
2数の積の最小、最大の数を出す...
-
高校数学です。0は全ての整数...
-
測量図で、周囲の長さを算出す...
-
エナメル線の電流容量 教えて...
-
さいころの積が6の倍数
-
積の微分法と合成関数の微分法...
-
2階のテンソルの座標変換の式...
-
群論、「部分集合の元による語(...
-
デルタ関数について
-
確率の問題です。 1個のサイコ...
-
中1数学の質問です。 写真の❶の...
おすすめ情報