|
Jakaさんへ
お忙しい中、お手間を取らせてしまいましてありがとうございました。
確かに、無駄が無いです。
どうも、頭が固いせいか一つ一つ書かないと出来ないようです。
これからも、よろしくご指導お願いいたします。
現在、Class化に向けて取り組んでいますが????と言う感じです。
どうも、クラスの考え方が理解していないのが原因のようです。
UFから、必要な分のClassは出来たのですが
クラス内での、Flgの使い方が出来ないでいます。
組んだもので、必要な答えは出るのですが
例えば、ComboBox1のクラスの途中で他のComboBoxの値を変えると他のComboBoxクラスが起動しているようで答えが出るまでに何度も同じ処理をしています。
flgの、位置が悪いのか何度か変えてみたのですがやはりダメみたいです。
過去ログで、クラスに関するものを見ているのですが今のところこのような内容を見つけることが出来ません。
別のクラスが、起動したときに抜けられる方法を考えてみます。
Class1の中で、
1回目は、flg=Falseなので やりたい処理に行きますが
If flg = True Then
flg = False
Exit Sub
End If
flg = True ← ここで、Trueなのに
やりたい処理
やりたい処理途中で、ComboBox2などの値が変わると
2回順目が始まり、flg=Falseで if 文を抜けてしまって 「やりたい処理」に進んでしまいます。
If flg = True Then
flg = False
Exit Sub
End If
クラスを、2つ使ってやれば何とかなるのか?
それとも、もっと基本的なことが分かっていないのにやろうとしていること自体無謀なのか??
でも、何とかできれば今後の改良するときや同じようなものを作るときにかなり時間短縮できると思って取り組んでいます。
あつかましいお願いなのですが、お時間のあるときにヒントなどがございましたらご教授願えればと思います。
▼Jaka さん:
>▼ma さん:
>>>Sub tiyusi(bangou)
>>Dim i As Integer
>> If flg = True Then
>> flg = False
>> Exit Sub
>> End If
>> For i = 1 To 3
>> flg = True
>> With UserForm3
>> .Controls("ComboBox" & i).Value = bangou
>> End With
>> Next
>> flg = False
>>End Sub
>こうした方が無駄が少ないような気が。
>
>Sub tiyusi(bangou)
>Dim i As Integer
> If flg = False Then
> flg = True
> For i = 1 To 3
> With UserForm3
> .Controls("ComboBox" & i).Value = bangou
> End With
> Next
> flg = False
> End If
>End Sub
|
|