一直在尋找一點,但還沒有找到合適的解決方案,所以這裏是我的問題!還是比較新的,請原諒我任何不正確的詞彙。VBA,通過一個單元格中的多個陣列參數進行過濾
我試圖做一個過濾器類似於下面的數據:
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語句(只使用如果x然後range.value = range.value +1),並改變它們存在於該行的顏色數這些。
朗(希望能夠提供足夠的背景使其更容易!)我需要能夠通過這些參數進行過濾,然後將結果導出到文本文件。我已經將文本導出進行了整理,但我無法弄清楚如何正確過濾。我懷疑這主要是一個語法問題。
快速和骯髒的方法是在這些變量是真正的行中只有另一個單元格獲取「x」或「y」或其他標記添加到他們當我進行計數,然後過濾那個,但我懷疑有一個更好/更有效率/更少資源密集型的方式來爲那些比我有更多線索的人做這件事。我甚至不知道是否真的使用自動過濾器,導出然後將自動過濾器關閉是最好的方法。由於這些行是彩色的,我想我也可以通過單元的內部顏色或其他東西進行過濾。只是不知道該如何去正確完成這個任務。
所以基本上,總之我需要能夠通過我上面的變量之一(例如testcase8511)我已經通過所有的數據消失了,如果真數了後做
- 過濾器。 (有沒有辦法將這個信息存儲在VBA中,這使得資源明智嗎?
- 將此過濾的數據導出到文本文件(我主要爲自己排序)
- 返回工作簿(或離開它)在視覺上是相同的。即,我不希望該過濾器在導出過程完成後在視覺上呈現給用戶。
- 儘可能有效地做到這一點,明智的方案(坦率地說,我懷疑有人願意回答會渴望做其他事情)。我們正在使用的一些電腦...並不好。
在此先感謝!我會澄清任何我沒有解釋得很好的話。詢問。
有這個帖子,詢問有關頁面大小的選擇... [檢查出來](http://stackoverflow.com/questions/ 14126962/vba-countifs-syntax-issue-and-or-about-multiple-conditions)..您使用的是哪個版本的Excel?因爲在2003年以後你有'CountIFs()'來幫助你... – bonCodigo