Looping through individual cells in a range can be slow. It is better to read the range directly into an array, modify the array, and write it back out:

vb Code:
  1. Sub RangeMod()
  2.     Dim nrow As Integer, ncol As Integer, i As Integer, j As Integer
  3.     Dim mf As Double
  4.     Dim a As Variant
  5.    
  6.     mf = 1.15
  7.     nrow = 27
  8.     ncol = 8
  9.    
  10.     a = Range("D5").Resize(nrow, ncol)      'read range into array
  11.    
  12.     For i = 1 To nrow                       'loop through array
  13.         For j = 1 To ncol                   'loop through array
  14.             a(i, j) = mf * a(i, j)          'modify array elements
  15.         Next j
  16.     Next i
  17.    
  18.     Range("D5").Resize(nrow, ncol) = a      'write array back to range
  19. End Sub