2016-03-02 51 views
0

我有一個公式我在Excel中知道作品:使用計數funtion在VBA

=IF(COUNTIF(P11:R11,"=Red")>0,"Red",IF(COUNTIF(P11:R11,"=Amber")>0,"Amber","Green"))

我需要在VBA大型劇本我寫來操作大量的數據中以某種方式使用此。我有三列,每列都是交通燈的顏色('綠色,琥珀色,紅色')。我需要計算多少果嶺,果實和紅色等,但是如果我有綠色,琥珀色和綠色,那麼每一行都會有琥珀色,這就是我所指望的。我需要計算三者的總體狀況。

的數據將是這個樣子: -

Green  Green Green 
Green  Amber Green 
Amber  Red  Red 
Red   Green Green 

這將是綠= 1,琥珀色= 1,紅色= 2

那麼我就需要輸入這些值內的另一個工作表相同的工作簿。希望一切都有道理,我正確地解釋了這個問題。

+0

我不明白你需要統計什麼...... –

+2

問題很清楚,沒有顯示或清楚的是你爲解決這個問題所做的**編碼工作。請展示您的嘗試以及失敗的地方,否則,您的問題很可能會被關閉,或者至少被低估並被忽略。 –

回答

0

您可以使用ADO Recordset在單元上發出SQL語句。 SQL語句將按照每行返回相應顏色的公式進​​行分組,並且還會返回每個分組的計數。最後,您可以使用CopyFromRecordset將結果粘貼到新的工作表中。

或者,您可以將單元讀入數組,並逐行處理數組的內容。聲明三個整型變量,每種顏色一個,並根據該行的正確值遞增適當變量的值。然後,您可以將這些變量的值寫入新的或現有的工作表中。