我有一个大型数据库(在20列中有700,000多行),我在Excel中导入并执行不同的操作。
这种操纵的一个例子是分类。为此,我使用了两列:材料类型和类别,并将其输出到“最终类别”列中:
IF materialType = "SERV" or category = "SERVICE" then finalCategory = "SERVICE"
执行此计算的最快方法是什么?
目前我使用FOR循环并已禁用application.screenupdating。
我也想知道,有没有办法将这些列放在缓存中然后再运行它?
希望你能提供帮助,
干杯!
答案 0 :(得分:2)
假设'materialType'列是A,'category'列是B,'finalCategory'列是U.那么你可以试试这个:
Dim strFormula As String
strFormula = "=IF(OR(A1=""SERV"",B1=""SERVICE""),""SERV"","""")"
Sheet1.Range("U1:U700000").Formula = strFormula
这可以避免循环超过700,000行并进行单独的操作,即使没有屏幕更新,这也会非常缓慢。