[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Withについて』(aki)
以下のような構文があります
With ComboBox4
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("データリスト").Range("おいうえお順").Address
End With
With ComboBox5
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("データリスト").Range("おいうえお順").Address
End With
With ComboBox6
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("データリスト").Range("おいうえお順").Address
End With
With ComboBox7
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("データリスト").Range("おいうえお順").Address
End With
With ComboBoxを4つ連ねたいのです もちろんこのままでも動きますが スマートになりますでしょうか? 2012/05/01 15:00 (aki)
Private Function ctlStyle(ByVal ctl As Control)
With ctl
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("Sheet1").Range("A1:A10").Address
End With
End Function
上記のような関数を作って、メインのプロシージャ内で
ctlStyle Me.ComboBox1
ctlStyle Me.ComboBox2
ctlStyle Me.ComboBox3
ctlStyle Me.ComboBox4
上記のように関数を実行するのが私の好みかな。
(みやほりん)
こちらは単純なループ案です。
Dim i As Long
For i = 1 To 4
With Me.Controls("combobox" & i)
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = Worksheets("データリスト").Range("おいうえお順").Address
End With
Next
(Jera)
jeraさんともろかぶり。
Dim strRs As String
Dim i As Long
strRs = Worksheets("データリスト").Range("おいうえお順").Address
For i = 4 To 7
With Me.Controls("ComboBox" & i)
.Style = fmStyleDropDownCombo
.ListRows = 10
.RowSource = strRs
End With
Next
(ぶらっと)
jeraさんともろかぶり。
って事は、それだけ一般的って事ですね 本当に有難う御座います 精進します 2012/05/01 15:55 (aki)
ありゃ、ぶつかって一足遅いけど。 >スマートになりますでしょうか? コードの速さ的には、akiさんのコードの方が速いと聞きます。 速さか、見た目の選択でしょうが、やはり見た目を選択でしょうね。 BJ
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.