A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
To avoid Selecting each cell, you could write the formulas directly:
Range("C1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("D1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("E1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("F1").FormulaR1C1 = ........................etc etc
But I suspect it's the numerous calculations that are slowing you down - since calculating the results of all of those Count formulas will eventually eat up a lot of CPU. Try turning off Calculation while you put the formulas in place, then turn it on again to do a single re-calc after you're done:
Application.Calculation = xlCalculationManual
Range("C1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("D1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("E1").FormulaR1C1 = "=COUNT(R[2]C:R[19999]C)/14"
Range("F1").FormulaR1C1 = ........................etc etc
Application.Calculation = xlNormal
Also, you might consider turning off Screen Updates, which also slow things down considerably. Try this:
Application.ScreenUpdating = False
(all your code here)
Application.ScreenUpdating = True