我浏览了 Stackoverflow 论坛(基本上是 Google 上的其他任何地方),并找到了很多“几乎”我的问题的答案,如果我对 VBA 更熟悉一点,这些答案可能就足够了,但我已经搞砸了它有一段时间,一直无法理清。有点沮丧,所以我想是时候问了!抱歉,如果我在解释我的问题时出现措辞等错误!这可能只是我的语法问题。
基本上我需要能够从电子表格中的列中获取数据,并让它对一组特定参数的单元格进行计数(我认为无论如何)。我需要的所有数据都是页面尺寸,格式为“Dimension1 x Dimension 2”,例如“8.5 x 11”
Valtest = Application.WorksheetFunction.CountIfs(Range("P:P"), "8.5 x 11")
这个公式,可能相当不足为奇,工作得很好。但我需要 countifs(或任何我需要的东西)也能够给我尺寸 <= 8.5 x <=11 以及翻转尺寸(<=11 x <=8.5)。
我尝试将公式更改为(和类似的)格式
Valtest = Application.WorksheetFunction.CountIfs(Range("P:P"), "<=8.5" & " x " & "11")
但这将报告一个尺寸,例如 3 x 4 或 22 x 11。我知道 countifs 可以使用多个参数(这就是为什么我在搞乱它而不是普通的 countif),但我不知道是否输入多个参数甚至是正确的路径,或者是否正确使用了引号或者......谁知道?
我能够使 If-then 语句正常工作(使用数组并使用计数器循环遍历每个单元格),但这显然不是最快的方法。在这里,只是为了让我的目标更清晰一点。
'如果 x(0) <= 8.5 且 x(1) <= 11 或 x(1) <= 8.5 且 x(0) <= 11 则
在一个相关问题中,我还需要能够找到例如 <=11 x <=17 或其他内容的页面,但不包括我之前的问题 (8.5 X 11) 的搜索结果。所以我需要知道多个参数的正确语法,这些参数会涉及到像 <8.5 但小于 >=17 这样的语句。
提前致谢!非常感谢任何帮助。如果我没有充分解释任何事情,请告诉我。
编辑:我将要搜索的数据示例:
A Count for 8.5 x 11 (expected output)
8.6 x 11 5
8.5 x 11
8.5 x 11
8.5 x 11
8.5 x 11
8.4 x 11
22 x 11
10 x 17