2つの動的値/基準に基づいて検索機能を作成するソリューションを探しています。 私は、コンボボックスとテキストボックスを持つuserformを持っています。VBA - 2つの基準に基づいて値を見つける
基準1はコンボボックスからのもので、(柱状建築材料)に記載されています。 基準2は、ライフサイクルフェーズであり、「A1-A3、A4、C1、C2、C3、C4、D」という用語の少なくとも1つ以上とすることができる。 (Column Modul)
コードの機能は、建築材料およびライフサイクルフェーズに応じて、地球温暖化係数(GWP)値(データテーブルの緑色のボックスを参照)を見つけることです。この値が見つかると、userform内のテキストボックスに値を書き込む必要があります。あなたは私のデータテーブルのスクリーンショットと例を見ることができます添付
:
example data tableはのは、建築材料「Argetonは」コンボボックスから選択されているとしましょう。 この材料は、地球温暖化の可能性がある場合、複数のエントリと異なるフェーズを持っています。 GWP値を知りたいこれまでのところ私のアイデアがあれば、その後の文を使用した相「Argeton」の「A4」
:この時点で
Dim zelle As String
Dim zelleGWPA4 As Range
Set zelle = Columns(3).Find(what:=cmb_Datensatz.Text, lookat:=xlWhole)
Set zelleGWPA4 = Columns(11).Find(what:="A4", lookat:=xlWhole)
If zelle = cmb_Datensatz.value Then zelle.Offset(0, 8).Select
....
を、私は上に行く方法がわかりません。私は今、オレンジ色のセル(データテーブル参照)しか検出していないので、建築材料はまだ「Agreton」のままで検索し、用語「A4」を探していたのです。 両方の条件が真であれば、 (0,1)とtxt_GWP_A4で、このセルの値を埋める。
多分これを行うには良いと簡単な方法があります。私は任意のヘルプのための任意の他のアイデアや感謝に開いている!
データに既にフィルタが設定されている場合は、Building materialとModulをフィルタリングし、列GWPの可視セルを探すのが簡単になります。 [Range.Autofilter](https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-autofilter-method-excel)を参照してください。 – BerticusMaximus
ありがとうございます。これは非常に便利でした。構文は今動作します。しかし、各ライフサイクルフェーズ(7)と環境影響カテゴリ(6)の検出値を表示したいので、コード(Rang.Autofilter)は42回実行されています。スピードはゆっくりとしています。他のアイデア? – Sebth
'Application.ScreenUpdating = False'と' Application.Calculation = xlCalculationManual'ですでにテストしましたか?詳細については、[こちらをご覧ください](https://stackoverflow.com/a/12405808/5994620)に戻してください。 – BerticusMaximus