我有一个动态工作表,这是一种数据转储。它是用一些我不会在这里展示的代码创建的,但其中一个问题是一些货币单元格被视为文本而不是数字。使用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