アプリ版:「スタンプのみでお礼する」機能のリリースについて

ユーザーフォームにコンボボックスが複数あります。
その内の3つについては、同一のリストを設定します。
リストの個数は30個ぐらいで、できればセルを使用
したくありません。
下記を3回記述するよりも短くしたいのですが、どのよ
うな方法がありますでしょうか?
現状では、ComboBox1、4、6ですが、連番にする必要が
あれば、変更可能です。
With ComboBox1
.Clear
.AddItem "いくら"
.AddItem "たこ"
.AddItem "まぐろ"
・・・
End With
お手数ですがよろしくお願いします。

A 回答 (3件)

下記で如何でしょう。



Dim myArr As Variant
Dim i As Variant
myArr = Array("1", "4", "6")
For Each i In myArr
   With Me.Controls("ComboBox" & i)
      .Clear
      .AddItem "いくら"
      .AddItem "たこ"
      .AddItem "まぐろ"
   End With
Next
    • good
    • 6
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/03/23 13:49

こんにちは。



>下記を3回記述するよりも短くしたいのですが、どのよ
>うな方法がありますでしょうか?

例えば、このようにすれば入りますが、ただ、ご質問の趣旨に、なんといっていいのか、分からなくなります。自分のスキルの範囲内で、結果オーライだと思います。それでは、いけないのでしょうかしらね。(^^;自分に置き換えて考えてみると、そう思ってしまいました。

Dim MyLists As Variant
Const MYLIST = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,Z"
MyLists = Split(MYLIST, ",")
Me.ComboBox1.List = MyLists
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。仰るとおりです。
ですが、とても勉強になりました。

お礼日時:2007/03/23 13:51

For i = 1 To 3


With Controls("ComboBox" & i)
.Clear
.AddItem "いくら"
.AddItem "たこ"
.AddItem "まぐろ"
・・・
End With
Next

参考:
http://www.h3.dion.ne.jp/~sakatsu/Breakthrough_P …
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2007/03/23 13:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A