VBA-要想宏跑的快,需要用到数组,原因是Excel的读写非常慢,需要将EXCEL文件先放入数组,然后数组一次性传给Excel,这样能够提升速度
Sub 统计()
Dim wb_yuanshi As Workbook
Dim sht_yuanshi As Worksheet
Dim wb_tongji As Workbook
Dim sht_tongji As Worksheet
Dim range_yuanshi As Range
Dim range_tongji As Range
Dim range_yuanshi_shuzu()
Dim range_tongji_shuzu()
Dim i, j, k
Set wb_yuanshi = Workbooks.Open("E:\福州项目\参数核查\输入输出表格\输入报表\基础参数\原始表格.xlsx")
Set sht_yuanshi = wb_yuanshi.Sheets("Sheet1")
Set wb_tongji = Workbooks.Open("E:\福州项目\参数核查\输入输出表格\输出报表\SA参数核查统计-0922.xlsx")
Set sht_tongji = wb_tongji.Sheets("SA参数核查")
Set range_yuanshi = sht_yuanshi.Range("A1", "J5185")
Set range_tongji = sht_tongji.Range("A1", "BW13")
range_yuanshi_shuzu = range_yuanshi
range_tongji_shuzu = range_tongji
For k = 7 To 13:
For j = 3 To 75:
For i = 2 To 5185:
If range_yuanshi_shuzu(i, 7) = range_tongji_shuzu(5, j) And range_yuanshi_shuzu(i, 3) = CStr(range_tongji_shuzu(k, 1)) Then
range_tongji_shuzu(k, j) = range_tongji_shuzu(k, j) + 1
End If
Next i
Next j
Next k
range_yuanshi = range_yuanshi_shuzu
range_tongji = range_tongji_shuzu
MsgBox ("统计完成")
End Sub
4441



被折叠的 条评论
为什么被折叠?



