- 締切済み
コンボボックスのダウンリストの行
フォームツールのコンボボックスを大量に作ろうと考えています。 以前にコントロールツールで作ったのですが結構重い為、今回フォームツールで作成したいのです。 その際、ドロップダウンリストの行を増やすにはどうしたらいいでしょうか? コントロールツールの時は下記コードで Object.ListRows = 20 で増やすことができたのですが、フォームツールの場合サポートしていませんとでます。 VBAで行を増やす事はできないでしょうか? 素人質問ですみません。 Sub Sheet1() Dim sh As Worksheet Set sh = Worksheets("Sheet1") For i = 1 To 100 l = sh.Cells(i, "E").Left t = sh.Cells(i, "E").Top w = sh.Cells(i, "E").Width h = sh.Cells(i, "E").Height With sh.OLEObjects.Add(ClassType:="Forms.ComboBox.1") .Left = l .Top = t .Width = w .Height = h .ListFillRange = "担当者" .Object.ListRows = 20 .LinkedCell = "E" & i .PrintObject = False End With Next i End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
>For i = 1 To 3 ↓ For i = 1 To 100 >Set sh = Nothing ↑ 不用
- watabe007
- ベストアンサー率62% (476/760)
>今回フォームツールで作成したいのです。 参考に Sub Test() Dim objDrop As DropDown Dim i As Long With Worksheets("Sheet1") For i = 1 To 3 Set objDrop = .DropDowns.Add( _ Left:=.Cells(i, "E").Left, _ Top:=.Cells(i, "E").Top, _ Width:=.Cells(i, "E").Width, _ Height:=.Cells(i, "E").Height) objDrop.ListFillRange = "担当者" objDrop.LinkedCell = "E" & i objDrop.DropDownLines = 20 objDrop.Display3DShading = False Next End With Set sh = Nothing Set objDrop = Nothing End Sub