环顾四周,还没有找到合适的解决方案,所以这是我的问题!对此还是很陌生,请原谅我的任何不当词汇。
我正在尝试为类似于以下内容的数据进行过滤:
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
基本上我需要能够按第一个值和第二个值进行过滤。在 Stackoverflow 成员的大力帮助下,我整理出将这些值放入数组中,确定第一个和第二个值并将它们分配为 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”或其他一些标记添加到它们,然后按此过滤,但我怀疑对于比我有更多线索的人来说,有更好/更有效/更少资源密集型的方法来做到这一点。我什至不知道从字面上使用自动过滤器,导出然后关闭自动过滤器是否是最好的方法。由于这些行是彩色的,我想我也可以通过单元格的内部颜色或其他东西进行过滤。只是不知道去哪里才能正确完成这项工作。
所以基本上,总而言之,我需要能够做到
- 在我浏览完所有数据并计算它们是否为真后,按我的上述变量之一(例如 testcase8511)进行过滤。(有没有办法在 VBA 中存储这些信息,这在资源方面是有意义的?我对此表示怀疑,不知道。)
- 将此过滤后的数据导出到文本文件(我主要为自己排序)
- 返回工作簿(或保留它)的外观相同。即我不希望在导出过程完成后这个过滤器在视觉上呈现给用户。
- 尽可能高效地执行此操作,程序明智(诚然,我怀疑任何愿意回答的人都会渴望不这样做)。我们正在使用的一些计算机......不是很好。
提前致谢!如果我没有解释清楚,我会澄清任何事情。问远点。