|
詳しく説明しないで、ごめんなさいね
>冒頭ご案内いただいたLike演算子を使う方法ですが、ここでワイルドカードを使う必然性が、
>私にはプロシージャから読み取れませんでした。
ListIndexが-1のListBoxが有る時、そのListBoxの項目を抽出条件から除外すると言う意味で考えています
今回提示したコードでは、ListBoxが3つ(本当は10との事ですが)として書いています
例えば、もしListBox1とListBox3が選択されて居て、ListBox2が選択されて居ない場合
抽出は、ListBox1の条件とListBox3の条件だけで抽出が行われます
理由は、「vntB = "*"」と成る為
If .Offset(i, 1).Value Like vntB Then
の「.Offset(i, 1).Value Like vntB」の結果が常に「True」成る為、
「.Offset(i, 1).Value」の項目は、抽出条件から除外された事に成ります
今回はListBoxなので、UserFormが起動した状態では、一度選択されたListBoxを、
「ListIndex = -1」にコード上以外では出来ないと思いましたので
「UserForm_Initialize()」の中だけで行っています、
もし「ListIndex = -1」にする操作が有るならば、その時点で、変数に"*"を入れる操作を加えて下さい
>また、最後に動的配列を使われていますが、格納した配列の吐き出し先がListoboxである点も良くわかりませんでした。
>せっかくご案内いただきましたのに、こちらの理解不足で誠に申し訳ありません。
>しばらく時間をかけて、送って頂いたプロシージャを分析させていただきます。
迷わせてしまってごめん
此れは、Testが出来る様に、UserFormの形を整える為に行っている事で
特に本題には関係有りません
ただ内容は、このコードではListBoxに表示する項目をリストから取得している為
データの重複取りを行っているコードです
|
|