Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2965 / 13646 ツリー ←次へ | 前へ→

【64985】フォームツールバー のコンボボックスのフォントサイズ pon 10/3/31(水) 16:53 質問[未読]
【64987】Re:フォームツールバー のコンボボックスの... Jaka 10/3/31(水) 17:33 発言[未読]
【64988】Re:フォームツールバー のコンボボックスの... teian 10/3/31(水) 17:33 発言[未読]
【64996】Re:フォームツールバー のコンボボックスの... 247b 10/4/1(木) 9:27 回答[未読]
【65013】Re:フォームツールバー のコンボボックスの... pon 10/4/1(木) 18:25 お礼[未読]
【65019】Re:フォームツールバー のコンボボックスの... Jaka 10/4/2(金) 10:09 発言[未読]
【65027】Re:フォームツールバー のコンボボックスの... よろずや 10/4/4(日) 21:12 回答[未読]
【65035】Re:フォームツールバー のコンボボックスの... Jaka 10/4/6(火) 9:20 お礼[未読]
【65042】Re:フォームツールバー のコンボボックスの... pon 10/4/6(火) 19:42 お礼[未読]

【64985】フォームツールバー のコンボボックスの...
質問  pon  - 10/3/31(水) 16:53 -

引用なし
パスワード
   エクセル2003

こんにちは よろしくお願いいたします


シートに貼り付けた コンボボックスのフォントサイズを大きくしたい
と思っています


コンボボックスとしては
下記の2種類あリますが
Sub Macro1()

  'フォームツールバー
  Range("B4").Select
  Application.CommandBars("Forms").Visible = True
  
  'コントロールツールボックス
  Range("k4").Select
  Application.CommandBars("Control Toolbox").Visible = True
  
  
End Sub


コントロールツールボックスのコンボボックスでは
希望の操作はかないましたが

フォームツールバーのコンボボックスの操作の仕方がわかりません

そもそも、リスト追加のコードがわかりません
アドバイスよろしくお願いいたします


フォームツールバーのコンボボックスの名前までは取得できました


Sub test()

  Dim i As Integer

  For i = 1 To ActiveSheet.Shapes.Count

    Debug.Print ActiveSheet.Shapes(i).Name
    
  Next i

End Sub


Drop Down 1


ちなみに
コントロールツールボックスのコンボボックスの場合は
下記で出来ました

'--------------------------------------------
'コントロールツールボックス

Public Sub cmb_add_list()

'リスト追加

  Me.ComboBox1.AddItem "1"
  
  Me.ComboBox1.AddItem "2"
  
  Me.ComboBox1.AddItem "3"

  Debug.Print Me.ComboBox1.ListCount

End Sub


Public Sub cmb_dell_list()

'リスト削除

'Me.ComboBox1.RemoveItem 0

  Dim i As Integer
  
  For i = 0 To Me.ComboBox1.ListCount - 1
  
    Me.ComboBox1.RemoveItem 0
  
  Next

End Sub


Public Sub cmb_list_fontsize()

'リスト削除 フォント設定

  Me.ComboBox1.Font.Size = 20

End Sub

【64987】Re:フォームツールバー のコンボボックス...
発言  Jaka  - 10/3/31(水) 17:33 -

引用なし
パスワード
   >  'フォームツールバー
の方は、フォントサイズは自動で、固定です。
API使えば出来るかも。

他参考。

ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=157;id=FAQ

【64988】Re:フォームツールバー のコンボボックス...
発言  teian  - 10/3/31(水) 17:33 -

引用なし
パスワード
   ツールバーフォームのコンボボックスはDropDownオブジェクトと
呼称されるものです。
オブジェクトブラウザで"非表示のメンバを表示"にすると確認できます。

項目の追加であれば、同様にAddItemでひとつづつ設定できますし、

Sub AddItemでセット()
  With ActiveSheet.DropDowns(1)
    .AddItem "あ"
    .AddItem "い"
    .AddItem "う"
  End With
End Sub

Sub Listで配列セット()
  ActiveSheet.DropDowns("Drop Down 1").List = _
    Array("A", "B", "C")
End Sub

Sub クリア()
  ActiveSheet.DropDowns("ドロップ 1").RemoveAllItems
End Sub

といった感じですね。
ただ、Font設定などはできるかは知りません。

【64996】Re:フォームツールバー のコンボボックス...
回答  247b  - 10/4/1(木) 9:27 -

引用なし
パスワード
   多分大丈夫とは思いますが、的外れな回答だったらすみません。

EXCELシートに貼付けたコンボボックスのフォントサイズ変更についてですが、
EXCELコンポーネントに属するもので、MSFormsコンポーネントに属する、ユーザーフォームに
貼付けられるコンボボックスとは別物です。たぶん。
シート上でプロパティウィンドウから設定が可能です。

1.ツールバー「コントロールツールボックス」を表示する
2.左上端のボタンを押すと、デバッグモードになります。
3.2の状態で変更を加えたいコンボボックスを右クリック、「プロパティ」を選択
4.表示されたプロパティウィンドウから「Font」を選択、右端に「...」ボタンが表示されるので押す。
5.サブウィンドウが開き、ここでフォント種、サイズ等を変更できます。

プログラムから変更をかける場合、対象のコンボボックスの名前が「Combobox1」で、
貼付けているシートのクラス名が「Sheet1」だった場合、

Sheet1.Combobox1.Font.Size = 18

という表記が可能です。なお、「シートのクラス名」というのはVBエディタの「プロジェクトエクスプローラ」の「Microsoft Excel Objects」配下にシート名が表示されていると思いますが、ここが
「クラス名(シートタブ名)」という表示になっていることからクラス名を取得できます。

余談ですが、上記プロパティウィンドウにある「ListFillRange」プロパティに、セルアドレス(A1形式)を指定すると、セルの値がリストに入るはずです。
また、コンボボックスで選択した内容を取得する場合は、「LinkedCell」というプロパティにアドレスを設定すると、そのセルに値が入るはずです。お試しください。

【65013】Re:フォームツールバー のコンボボックス...
お礼  pon  - 10/4/1(木) 18:25 -

引用なし
パスワード
   teian さん ありがとうございます

>  ツールバーフォームのコンボボックスはDropDownオブジェクトと
>呼称されるものです。
>オブジェクトブラウザで"非表示のメンバを表示"にすると確認できます。
う〜 非表示のメンバなんですか
勉強になります 

シート上のコンボボックスは滅多に使用することは無いのですが
Arrayでの設定は楽チンそうです
コードのご提示ありがとうございました


247b さん ありがとうございます

>多分大丈夫とは思いますが、的外れな回答だったらすみません。
詳細な書き込みありがとうございます
勉強になります

>余談ですが、上記プロパティウィンドウにある「ListFillRange」プロパティに、セルアドレス(A1形式)>を指定すると、セルの値がリストに入るはずです。

一般操作のプロパティ設定なんですが、
ListFillRange選択状態で、リスト対象セルを選択するとプロパティが勝手に変わって
セットできませんでした
手書きで シート名!絶対番地 で入力しないと受け付けてくれません
絶対番地の記載に気がつくまでハマってしまった・・・
この辺の説明書き探したけど見つかりませんでした
ちょっとバッグっぽい気もしますが・・・


Jaka さん ありがとうございます

他参考 リンク先ありがとうございました
勉強になります

>>  'フォームツールバー
>の方は、フォントサイズは自動で、固定です。

そう なんですか・・・・

>API使えば出来るかも。
ブヒヒヒ・・・
手も足もでませ〜ん

DropDowns API で ググッてみましたが、うまく引っ掛けることは出来ませんでした

これ以上は、コード作成依頼になってしまうので・・・
残念ですが諦めます


何かありましたらコメントよろしくお願いいたします
明日、締めたいと思います

【65019】Re:フォームツールバー のコンボボックス...
発言  Jaka  - 10/4/2(金) 10:09 -

引用なし
パスワード
   やらないと思うけど、ズームで200%にして、全体を大きく表示。
その上で、全セルを選択して、フォントサイズを6ぐらいに。
拡大した列幅、高さなどをそれなりに見えるように縮める。
行や列の1、2、3、A、B、Cの文字は、どこかだったかをいじれば、
小さく出来たと思う。
あ、フォルダオプションかも知れないので、Windows全体に影響が出ます。

尚、APIで出来るかもと言いましたけど、今まで同じような質問を見てきましたが、
APIを見たことがありません。
上記で書いたような方法が紹介されてました。

【65027】Re:フォームツールバー のコンボボックス...
回答  よろずや  - 10/4/4(日) 21:12 -

引用なし
パスワード
   >行や列の1、2、3、A、B、Cの文字は、どこかだったかをいじれば、
>小さく出来たと思う。

[書式]->[スタイル]

【65035】Re:フォームツールバー のコンボボックス...
お礼  Jaka  - 10/4/6(火) 9:20 -

引用なし
パスワード
   ▼よろずや さん:
>>行や列の1、2、3、A、B、Cの文字は、どこかだったかをいじれば、
>>小さく出来たと思う。
>[書式]->[スタイル]
え、フォルダオプションでなく、書式 > スタイルで出来ましたっけ?
と、思って除いてみたらできました。
すみません。

【65042】Re:フォームツールバー のコンボボックス...
お礼  pon  - 10/4/6(火) 19:42 -

引用なし
パスワード
   遅くなりました m(_ _)m


Jaka さん ありがとうございます

>APIを見たことがありません。
そうなんですか
ひっかからなかったけど納得みたいな・・・ です

>やらないと思うけど、ズームで200%にして、全体を大きく表示。
・・・
>と、思って除いてみたらできました。
重ねてのアドバイスありがとうございます
頂いた別解は、資産にとっておきます

今回は
>やらないと思うけど、ズームで200%にして、全体を大きく表示。
です m(_ _)m


よろずや さん ありがとうございます
以前はmougでお世話になっていたのですが
改定後、Qのアップが会社からはできなくなったので
以後こちらでアドバイス頂いています

一時期は、他所等でもお見かけすることが出来ずに
お忙しいのかと思っていましたが最近お見かけするようになって
一安心です
当時 揮発性関数とかmsのバグ定義他 色々アドバイス頂きありがとうございました
ちなみに
いろんなHNでQしてます (*o*)\baki


皆様 色々アドバイスありがとうございました
今後もよろしくお願いいたします

2965 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free