• 締切済み

コンボボックスのダウンリストの行

フォームツールのコンボボックスを大量に作ろうと考えています。 以前にコントロールツールで作ったのですが結構重い為、今回フォームツールで作成したいのです。 その際、ドロップダウンリストの行を増やすにはどうしたらいいでしょうか? コントロールツールの時は下記コードで 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

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>For i = 1 To 3 ↓ For i = 1 To 100 >Set sh = Nothing   ↑   不用

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>今回フォームツールで作成したいのです。 参考に 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

関連するQ&A