2017-10-11 34 views
0

以下代碼列出了活動單元格中v(v1(i))的數組內容及其偏移量。我想在上市前提出一個條件。我想在上市前檢查v1陣列中所有值的總和,如果總和爲>=5<=10,那麼只列出它。我怎樣才能做到這一點?計算數組內容的總和並根據條件列出它

v1 = Split(Replace(Trim(s), "'", ""), " ") 
For i = LBound(v1) To UBound(v1) 
    ActiveCell.Offset(0, i) = v(v1(i)) 
Next 

感謝

回答

1

這應該做你想要什麼。

v1 = Split(Replace(Trim(s), "'", ""), " ") 
For i = LBound(v1) To UBound(v1) 
    t = t + Val(v1(i)) 
Next i 
If t >= 5 And t <= 10 Then 
    For i = LBound(v1) To UBound(v1) 
     ActiveCell.Offset(0, i) = v(v1(i)) 
    Next i 
End If 
+0

而不是有兩個循環回合,有沒有辦法檢查一個命令中的數組總和?我正在嘗試'application.worksheetfuntions.sum',但無法獲得v(v1())' – Sabha

+1

的所有值的總和。不需要循環所有值以獲得它們的總和。在計算總數之前,您無法開始編寫第一個值。 'Split'函數返回的字符串數組對於處理數字並不是最理想的,但是我認爲由於CSV文件中數據的來源而導致字符串被卡住。 – Variatus

+1

如果您可以將v1變成變體,您可以使用一條命令將其寫入工作表,避免第二個循環,而不是第一個循環。 – Variatus