Is there more code in your For Loop that you are not showing? It doesn't make sense to call RowHeight for every column. In fact there is no need to use a loop at all. If you specify -1 as the row index to RowHeight all rows will be adjusted.

The following method is instantaneous on a grid with 15000 rows and 10 cols - even on my PII 300mhz 128mb RAM.

VB Code:
  1. With MSFlexGrid1
  2.     .Redraw = False
  3.     [B].RowHeight(-1) = 600[/B]    
  4.     .RowHeight(0) = 300 '
  5.     .Redraw = True
  6. End With