VBAコードで挿入するリストボックスとコントロールツールボックスから挿入するリストボックスの違い

このQ&Aのポイント
  • VBAコードで作成されるリストボックスは、コントロールツールボックスから挿入するリストボックスとは異なります。
  • VBAコードで挿入するリストボックスには、プロパティが表示されず、手動でプロパティを設定することができません。
  • 一方、コントロールツールボックスから挿入するリストボックスには、プロパティが表示され、簡単に設定することができます。
回答を見る
  • ベストアンサー

プロパティが見つかりません。OLEObjects

Sub test() Dim OLEList As Object Set OLEList = ActiveSheet.OLEObjects.Add( _ ClassType:="Forms.ListBox.1", _ Left:=1, _ Top:=1, _ Width:=80, _ Height:=80) End Sub このコードで作るリストボックスってOLEオブジェクトのリストボックスですよね? リストボックスを作って、デザインビューにして右クリックをしてもプロパティが見つかりません。 手作業でコントロールツールボックスからリストボックスを挿入すると、 右クリックした時にプロパティがあります。 このVBAコードで挿入するリストボックスは コントロールツールボックスから挿入するものとは別物ですか? 画像は右側は、「手作業でコントロールツールボックスからリストボックスを挿入」で、 左側は上記のコードで挿入しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • heno-_-
  • ベストアンサー率100% (6/6)
回答No.1

VBAで作成したOLEオブジェクトのプロパティは、 「 デザインモード 」に切り替えると編集できますよ。 三角定規の絵をしたボタンです。

qpixyncgdnop
質問者

お礼

「 デザインモード 」にすればいいのですね。ご説明有難うございます。

関連するQ&A

  • F8のステップインで実行するとエラーになるマクロ(オブジェクトの挿入)

    こんばんは。 また質問させてください。 エクセル2003です。 Sub 挿入_ラベル() ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1").Select End Sub このコードをF8のステップインをしながら実行すると 「中断モードでは入力できません。」となります。 普通にF5の実行なら問題なくできます。 なぜF8だとエラーになるのでしょうか? オブジェクト関係だからですか?

  • オブジェクト名をVBAで指定する方法を教えてくださ

    VBAでワークシートにOLEObjectsのコマンドボタンを設置してるのですが ボタンのオブジェクト名をVBAで指定するにはどうすればいいでしょうか? Private Sub CommandButton1_Click() With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False) .Object.Name = "ボタン1" .Object.Caption = "ボタン" .Object.Font.Size = 9 .Width = ActiveCell.Width .Height = ActiveCell.Height End With End Sub を実行すると、 .Object.Name = "ボタン1" の部分で 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)」というエラーになります。 他のコードは大丈夫です。 オブジェクト名をVBAで指定する方法を教えてください。 当方エクセル2003です。

  • コントロールのプロパティー値をコードで変更したい

    アクティブXコントロールのオブジェクトのプロパティーを手作業で変更するのではなくて、 マクロのコードで変更できればいいと思うのですが、コードの書き方がさっぱりわかりません。 私がやりたことは 下の画像にあるバーコードのコントロールのValueプロパティの値をVBAのコードで指定したい ということです。 一体、どんな書き方をすればいいんでしょうか? できればズバリのコードをそのまま提示して欲しいです。

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

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

  • シート上のOLEオブジェクトのタイプを取得する

    シート上のOLEオブジェクトのタイプを取得するvbaは? Sub Sample() Dim i As Integer For i = 1 To ActiveSheet.OLEObjects.Count Debug.Print ActiveSheet.OLEObjects(i).Type Next i End Sub これだとエラーになります。 テキストボックスとかコマンドボタンとかの情報を取得するには どうすればいいでしょうか?

  • Excel2003 コマンドボタンのプロパティ

    Excel2003 の vba の初心者です。 (Access2003 の vba の方が得意です。) 既に出来上がっているExcelのvbaを編集したいのですが、 コマンドボタンのプロパティが表示できません。 Accessであれば、コマンドボタンを選択して右クリックするとプロパティがあります。 しかし、Excelでは、コントロールツールボックスでデザインモードを押下し、 コマンドボタンを選択してコントロールツールボックスのプロパティを押下しても、 プロパティの一番上のプルダウンの所は「Sheet1 Worksheet」となっていて、 ▼を押下しても、他には何もありません。 どうも、Worksheetのプロパティが表示されているようです。 コマンドボタンのプロパティを表示させるには、どうすればよいのでしょうか。 基本的なことでお恥ずかしいですが、 ご教授いただければ幸いです。 よろしくお願いいたします。

  • コマンドボタンの自動作成

    こんにちは。 Excel2000で作業をしています。 Excel VBA を用いて、コマンドボタンを作成しようとしているのですが、うまくいきません。 試しにマクロを記録させてみたところ、 ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _ , DisplayAsIcon:=False, left:=252, top:=292.5, width:=72, height:=24) _ .Select というコードになったのですが、これを実行させてみたところ、ボタンのようなものは表示されるのですが、このボタンを右クリックしても、「プロパティ」「コードの表示」メニューが表示されず、コマンドの実行ができません。 Clickイベントを発生させて、コマンドの実行ができるコマンドボタンをVBA等で作成するためには、どのようにすればよいのでしょうか。

  • エクセル2010 シート上のコンボボックス

    エクセル2010を使用しております。 シート1にコンボボックス1(アクティブXコントロール)を設置しており、 コードは下記です。 Private Sub ComboBox1_DropButtonClick() Dim i As Long With Worksheets("シート操作").OLEObjects("ComboBox1").Object .Clear    For i = 1 To 100 .AddItem i Next i End With End Sub コンボボックス1のドロップボタンで リスト1~100の数字の中から、任意の数字を選び テキスト表示部分に表示させたいだけなのですが、 上記コードではリストから選択しても何も表示されません。 コードの誤りと詳しい説明を希望します。 よろしくお願いいたします。

  • Word2000文書でのコントロールツールの使い方が(初心者)

    Word文書のコントロール(CommandButton1)を押して、 Label1に文字を表示させたいのですが、 いろいろヘルプを読んでも分かりません。助けてください。 Word文書に コントロールツールボックス から CommandButton1 と Label1 をオブジェクトとして置きました。 コントロールツールボックス の デザインモードをクリックして、 CommandButton1 をクリックして、 Microsoft Visual Basic のウィンドウを開きました。 コードを以下のように記述しました。 Private Sub CommandButton1_Click() Label1.Caption = "文字を表示します" End Sub コントロールツールボックス の デザインモードを終了しまして、 CommandButton1 を クリックすると、 Label1 には確かに、「文字を表示します」と表示されました。 ・・・ここまではいいのですが、 このWord文書を名前をつけて保存したあと再び開くと、 CommandButton1 を押しても、何もおこりません。 どうしてでしょうか?

  • リストボックスの値をVBAで表示させる方法をご教授

    ListFillRangeプロパティを使わずに、ActiveXコントロールのリストボックスにVBAで値を入力するには? OLEObjectsとAddItemメソッドでできるはずなのですが うまくできません。 シート上のリストボックスに あああ いいい ううう とVBAで表示させる方法をご教授ください。

専門家に質問してみよう