- ベストアンサー
excel VBAの分岐の書き方について
excel VBAの分岐の書き方について 列Aに、 ああ いいい うううう ああ いいい ええ ・・・ のようなデータがあるとします。 このときにVBAのフォームで、 ああ いいい うううう ええ をチェックボックスで選ばせ、該当する行のみに処理を行いそれ以外には処理をしない、というプログラムを考えています。 どのように実装するのが正しい書き方でしょうか? 処理すべき行数は200行程度。ああ、いいい・・・等は10種類ほどで可変です。 in演算子で、配列をみれるような仕掛けがあるといいのですが。。。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
次の通りに作成します。 ListBoxを配置し,プロパティウィンドウで ListStyleをfmliststyleoption MultiSelectをfmMultiSelectMulti にしておく CommandButton1を配置しておく Private sub Userform_Initialize() dim h as range dim Target as range set target = worksheets("Sheet1").range("A2:A" & worksheets("Sheet1").range("A65536").end(xlup).row) for each h in target if application.match(h, target ,0) = h.row - 1 then me.listbox1.additem h.value end if next end sub private sub CommandButton1_Click() dim Target as range dim i dim c as range dim c0 as string set target = worksheets("Sheet1").range("A2:A" & worksheets("Sheet1").range("A65536").end(xlup).row) target.interior.colorindex = xlnone for i = 0 to listbox1.listcount - 1 if me.listbox1.selected(i) then set c = target.find(what:=me.listbox1.list(i), lookat:=xlwhole) if not c is nothing then c0 = c.address do c.interior.colorindex = 4 set c = target.findnext(c) loop until c.address = c0 end if end if next i end sub
お礼
ありがとうございます!リストボックスのところの設計も大変参考になりました!