少し見て回っていて、まだ適切な解決策が見つからないので、ここに私の質問があります!これにはまだかなり新しいので、不適切な語彙を許してください。
次のようなデータのフィルターを作成しようとしています。
8.5 x 11
8.3 x 10.9
8.7 x 10.9
8.3 x 10.9
11 x 8.5
8.5 x 11
8.5 x 11
15 x 11
基本的に、最初の値と2番目の値でフィルタリングできる必要があります。Stackoverflowのメンバーの多大な支援を受けて、これらの値を配列に配置し、最初と2番目の値を決定し、それらをArrval(0)およびArrval(1)として割り当ててから、それらを変数に割り当てました。寸法に基づいて「小さい」と「大きい」。そうすれば、最初の面が大きい場合などでも、うまくいきます。これに関連する適切なコードは次のとおりです。
val = Trim(arr(r, 1))
If val Like "*x*" Then
Arrvals = Split(val, "x")
V1 = Trim(Arrvals(0))
V2 = Trim(Arrvals(1))
If IsNumeric(V1) And IsNumeric(V2) Then
V1 = CDbl(V1)
V2 = CDbl(V2)
If V1 > V2 Then
Small = V2: Large = V1
Else
Small = V1: Large = V2
End If
End If
End If
続いて、これらの値を使用して「サイズ」の寸法を決定し、特定のパラメーターを満たしているかどうかをカウントします。例えば
testcase8511 = Small <= 9.9 And Large <= 14.5
test117 = Small >= 10 And Large <= 17.6
次に、if-elseステートメントを使用してこれらをカウントし(if x then range.value = range.value +1を使用)、それらが存在する行の色を変更します。
簡単に言えば(これを簡単にするのに十分な背景を提供することを望んでいました!)これらのパラメーターでフィルター処理して、結果をテキストファイルにエクスポートできるようにする必要があります。テキストのエクスポートはほとんど整理されていますが、適切にフィルタリングする方法がわかりません。これは主に構文の問題だと思います。
手っ取り早い方法は、これらの変数が真である行に別のセルを配置して、カウントを実行しているときに「x」または「y」または他のマーカーを追加して、それでフィルタリングすることですが、私は私よりも多くの手がかりを持っている人のためにこれを行うためのより良い/より効率的な/より少ないリソース集約的な方法があるのではないかと思います。文字通りオートフィルターを使用し、エクスポートしてからオートフィルターをオフに戻すことがこれを行うための最良の方法であるかどうかさえわかりません。これらの行はカラーであるため、セルなどの内部の色でフィルタリングすることもできると思います。これを適切に行うためにどこに行けばよいかわからない。
つまり、基本的に、私はできる必要があります
- すべてのデータを調べて、trueの場合はそれらをカウントした後、上記の変数の1つ(例:testcase8511)でフィルター処理します。(この情報をVBAに保存して、リソースに関して意味のある方法はありますか?疑わしいです、わかりません。)
- このフィルタリングされたデータをテキストファイルにエクスポートします(私はほとんど自分で並べ替えました)
- ブックを視覚的に同じように返します(またはそのままにします)。つまり、エクスポートプロセスが完了した後、このフィルターをユーザーに視覚的に表示したくありません。
- これを可能な限り効率的に、プログラム的に実行します(確かに、答える意思のある人が他の方法でやりたいと思う人はいないと思います)。私たちが使用しているコンピューターのいくつかは...素晴らしいものではありません。
前もって感謝します!うまく説明できなかったことがあれば明確にします。遠ざけてください。