我有一個動態工作表,這是一種數據轉儲。它是用一些我不會在這裏展示的代碼創建的,但其中一個問題是一些貨幣單元格被視爲文本而不是數字。使用SumIf作爲文本格式的數字的工作表函數
因此,下面一行將返回0,即使有大量的應計數(在本例的數字我檢查是否在F
列中的文本是字符串arg
和I
添加相應的值的總和,如果YES:
Application.SumIf(dumpSheet.Range("F1:F10000"), arg, dumpSheet.Range("I1:I10000"))
我得到一點提示,詢問我是否要更改爲數字格式,但是當我用它說的是這樣做的Excel宏錄製不記錄任何東西。認識到它可能是一個數字單擊>格式>貨幣或數字在這種情況下不會更改任何內容,但它仍將其視爲文本,並且綠色的角落工具提示將保留在此處。
現在我知道我可以通過使用loops
來取代SumIf去除$符號,但這會讓它變得非常緩慢。更快的方法是使用Find和FindNext,但仍然覺得沒有比工作表更快的功能。
如何在使用工作表函數之前將整列貨幣值轉換爲數字?就像現在一樣,單元格的值就像363,27 $
。
文本空間 – Andreas
你有多少時間去使用一個循環失去列和分裂? – peege